From 6759a05112000ff8b03e407f77ee13af5082d221 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Fri, 2 Apr 2010 17:49:32 -0400 Subject: [PATCH] Generate ChangeLog files for tarball releases. Remove old ChangeLog files that predate our switch to git. --- .gitignore | 2 +- ChangeLog | 4446 +----- Makefile.am | 18 +- addressbook/ChangeLog | 5678 -------- calendar/ChangeLog | 7249 ---------- camel/ChangeLog | 10217 ------------- camel/ChangeLog.pre-1-4 | 22083 ----------------------------- camel/Makefile.am | 1 - camel/providers/groupwise/ChangeLog | 1972 --- camel/providers/hula/ChangeLog | 12 - camel/providers/imap/ChangeLog | 1373 -- camel/providers/imap4/ChangeLog | 400 - camel/providers/imapx/ChangeLog | 77 - camel/providers/local/ChangeLog | 649 - camel/providers/nntp/ChangeLog | 233 - camel/providers/pop3/ChangeLog | 264 - camel/providers/sendmail/ChangeLog | 21 - camel/providers/smtp/ChangeLog | 122 - camel/tests/ChangeLog | 47 - libedataserverui/ChangeLog | 1670 --- po/ChangeLog | 4459 ------ servers/google/libgdata-google/ChangeLog | 93 - servers/google/libgdata/ChangeLog | 102 - servers/groupwise/ChangeLog | 1826 --- 24 files changed, 19 insertions(+), 62995 deletions(-) delete mode 100644 addressbook/ChangeLog delete mode 100644 calendar/ChangeLog delete mode 100644 camel/ChangeLog delete mode 100644 camel/ChangeLog.pre-1-4 delete mode 100644 camel/providers/groupwise/ChangeLog delete mode 100644 camel/providers/hula/ChangeLog delete mode 100644 camel/providers/imap/ChangeLog delete mode 100644 camel/providers/imap4/ChangeLog delete mode 100644 camel/providers/imapx/ChangeLog delete mode 100644 camel/providers/local/ChangeLog delete mode 100644 camel/providers/nntp/ChangeLog delete mode 100644 camel/providers/pop3/ChangeLog delete mode 100644 camel/providers/sendmail/ChangeLog delete mode 100644 camel/providers/smtp/ChangeLog delete mode 100644 camel/tests/ChangeLog delete mode 100644 libedataserverui/ChangeLog delete mode 100644 po/ChangeLog delete mode 100644 servers/google/libgdata-google/ChangeLog delete mode 100644 servers/google/libgdata/ChangeLog delete mode 100644 servers/groupwise/ChangeLog diff --git a/.gitignore b/.gitignore index 383a45a..30c34d5 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/ChangeLog b/ChangeLog index 70d2d0d..3d79cd5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4445 +1,5 @@ -2009-04-24 Milan Crha +2010-03-31 The Evolution Team - ** 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 - - ** 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 - - ** 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 - - ** Remove a bunch of juvenile comments. Source code should - look professional, even if some developers are not. - -2009-04-07 Milan Crha - - ** Fix for bug #574522 - - * libedataserver/e-proxy.c: (e_proxy_dispose), (ep_set_proxy): - Free list's members properly. - -2009-03-16 Srinivasa Ragavan - - * NEWS: Evolution Data Server 2.26.0 release and version bump - -2009-03-09 Milan Crha - - ** 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 - - * configure.in: Post-release version bump. - -2009-03-02 Matthew Barnes - - * NEWS: Evolution Data Server 2.25.92 release - -2009-02-27 Matthew Barnes - - ** 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 - - * 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 - - * MAINTAINERS: - Removing myself off the maintainers - -2009-02-17 Chenthill Palanisamy - - * configure.in: Fixes a libical build issue. - Committing the fix from Suman. - -2009-02-14 Matthew Barnes - - ** Fixes part of bug #571761 - - * src/server-interface-check.h: - Stop using deprecated GtkType macros. - -2009-02-09 Milan Crha - - ** 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 - - ** 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 - - * configure.in: Expose the right CFLAGS for libical headers. We want - to include (as suggested). - -2009-02-03 Tor Lillqvist - - * 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 - - * NEWS: Evolution Data Server 2.25.90 release - -2009-01-31 Matthew Barnes - - ** Disable debug macros (#define d(x) x) throughout. (#569638) - -2009-01-28 Tor Lillqvist - - * 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 - - * 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 - - * 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 - - * NEWS: Evolution Data Server 2.25.5 release - -2009-01-21 Suman Manjunath - - ** 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 - - ** Fixes part of bug #564543 - - * configure.in: - Bump gtk_minimum_version to 2.14.0. - -2009-01-12 Philip Van Hoof - - * 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 - - * 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 - - * news: evolution data server 2.25.4 release - -2009-01-05 Tor Lillqvist - - * 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 - - ** Patch from Thomas - ** 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 - - ** 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 - - * NEWS: Evolution Data Server 2.25.3 release - -2008-12-10 Milan Crha - - ** Part of fix for bug #352287 - - * configure.in: Decrease libgweather requirement to 2.25.2. - -2008-12-10 Suman Manjunath - - * configure.in: Build the weather calendar backend unless explicitly - requested not to, thereby making the libgweather dependency optional. - -2008-12-03 Milan Crha - - ** Part of fix for bug #352287 - - * configure.in: Require libgweather in configure stage. - -2008-12-02 Milan Crha - - ** 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 - - * NEWS: Evolution Data Server 2.25.2 release changes - -2008-11-12 Suman Manjunath - - * 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 - - * NEWS: Evolutoin Data Server 2.25.1 release and version bump - -2008-11-03 Sankar P - -License Changes - - * libedataserver/e-proxy.c: - * libedataserver/e-proxy.h: - -2008-10-31 Matthew Barnes - - ** 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 - - ** 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 - - ** 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 - - * 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 - - * configure.in: Version bump for Evolution Data Server 2.25.1 - -2008-09-22 Srinivasa Ragavan - - * NEWS, configure.in: Evolution Data Server 2.24.0 release. - -2008-09-14 Matthew Barnes - - * libedataserver/e-sexp.c (term_eval_and), (term_eval_or): - Don't mix declarations and code. - -2008-09-12 Ross Burton - - * libedataserver/e-data-server-marshal.list: - Remove, this isn't used since 2007-04-04. - -2008-09-08 Srinivasa Ragavan - - * NEWS: Evolution Data Server 2.23.92 release. - -2008-09-03 Srinivasa Ragavan - - * libedataserver/e-sexp.c (parse_list): Fix a crash in sexp. - -2008-09-01 Srinivasa Ragavan - - * NEWS: Evolution Data Server 2.23.91 release and version bump. - -2008-09-01 Matthew Barnes - - * configure.in: - Fix compiler warnings in a couple of the test programs. - -2008-08-28 Patrick Ohly - - * 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 - - * NEWS, configure.in: Evolution Data Server 2.23.90 release and - version bump. - -2008-08-11 Jeff Cai - - * configure.in: Add gthread-2.0 in CAMEL checking. - Fixes bug #538074. - -2008-08-07 Tobias Mueller - - * 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 - - * NEWS: Evolution Data Server 2.23.6 release and version bump. - -2008-08-04 Matthias Braun - - * configure.in: Added WebDAV backend for addressbook. - -2008-08-04 Tobias Mueller - - ** 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 - - ** 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 - - * 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 - - * Makefile.am: - Add doltcompile and doltlibtool to DISTCLEANFILES to fix - distcheck breakage. - -2008-07-21 Jörgen Scheibengruber - - ** Fix for bug #523632 - - * configure.in: Added Google contacts backend - -2008-07-20 Bharath Acharya - - ** Fix for bug #200147 - - * libedataserver/e-account.h: Stores the templates folder uri - -2008-07-20 Luca Ferretti - - 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 - - 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 - - ** Fix for bug #253509 - - * libedataserver/e-categories.c: Added translators comment. - -2008-07-09 Tor Lillqvist - - * 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 - - * libedataserver/e-source-group.c: Added missing g_object_unref on - sources, fixing leaks and bug #540152. - -2008-06-23 Jeffrey Stedfast - - * configure.in: Doltify - -2008-06-17 Johnny Jacob - - * configure.in (eds_micro_version): Bumped to 2.23.5. - - * NEWS: Evolution Data Server 2.23.4 release updates. - -2008-06-12 Tor Lillqvist - - * libedataserver/e-proxy.c: Make it compile on Win32, too. - -2008-06-06 Matthew Barnes - - ** Allow e-d-s to build with G_DISABLE_SINGLE_INCLUDES - and GTK_DISABLE_SINGLE_INCLUDES defined. (#536636) - -2008-06-06 Tor Lillqvist - - * 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 - - 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 - - * NEWS: Evolution Data Server 2.23.3 release and version bump. - -2008-06-02 Tor Lillqvist - - * libedataserver/e-data-server-util.c: Include 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 - - ** Fix for bug #533780 - - * configure.in: - * libebackend/Makefile.am: - Fix the link line for libebackend. - -2008-05-16 Matthew Barnes - - ** 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 - - ** 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 - - * libebackend/libebackend.pc.in: Fix a typo. - -2008-05-12 Srinivasa Ragavan - - * NEWS, configure.in: Evolution Data Server 2.23.2 release and version - bump. - * Makefile.am: Build fix for release. - -2008-05-06 Matthew Barnes - - ** 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 - - * Reverted commit 8210 - -2008-05-06 Sankar P - - * Revert changes committed by bad git-svn usage. - -2008-05-05 Matthew Barnes - - ** Fixes bug #517244 - - * configure.in: - Add test for nl_langinfo(CODESET). Defines HAVE_CODESET. - -2008-05-05 Wang Xin - - * libedataserver/e-proxy.c: Fixes #530688. - -2008-05-04 Matthew Barnes - - * 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 - - ** 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 - - * 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 - - * README: Put it back. Apparently Automake insists on it. - -2008-04-23 Srinivasa Ragavan - - * configure.in: Version bump to 2.23.1 - -2008-04-21 Srinivasa Ragavan - - * NEWS, configure.in: Evolution Data Server 2.23.1 release and version - bump. - -2008-04-22 Matthew Barnes - - ** Fixes bug #441497 - - * README: File is empty, remove it. - - * Makefile.am: Remove README. - -2008-04-19 Matthew Barnes - - * docs/reference: Add new symbols to the API docs. - -2008-04-18 Srinivasa Ragavan - - * MAINTAINERS: Updating the Camel guards. - -2008-04-17 Milan Crha - - ** 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 - - ** 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 - - * configure.in: Do proper checks for largefile support and - properly setup proper CFLAGS to support it. - -2008-04-04 Suman Manjunath - - * 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 - - * configure.in: Version bump for 2.23.1. - -2008-03-31 Matthew Barnes - - * configure.in: Enforce the minimum GLib version (#525242). - -2008-03-27 Matthew Barnes - - ** 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 - - ** 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 - - * NEWS, configure.in: Evolution Data Server 2.22.0 release. - -2008-03-03 Srinivasa Ragavan - - * configure.in: Revisit libecal version. - -2008-03-02 Matthew Barnes - - * docs/reference: Minor API documentation updates. - -2008-03-03 Tor Lillqvist - - * 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 - - * configure.in: Bump libecal version for libical changes. - -2008-02-25 Srinivasa Ragavan - - * NEWS: Evolution Data Server 2.21.92 release. - -2008-02-26 Milan Crha - - ** 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 - - * src/Makefile.am: Add E_DATA_SERVER_CFLAGS/LIBS to make it build. - -2008-02-22 Milan Crha - - ** 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 - - * configure.in: set HANDLE_LIBICAL_MEMORY to 1. - -2008-02-18 Chenthill Palanisamy - - * libdb/dbm/dbm.c (__db_dbm_firstkey): Fix for some - warnings. Fix from opensuse downstream. - -2008-02-14 Matthew Barnes - - ** Fixes part of bug #516074 - - * configure.in: Don't assume NI_MAXHOST and NI_MAXSERV are - defined in since these are GNU extensions. - -2008-02-13 Srinivasa Ragavan - - * configure.in: Version bump for 2.21.92 - -2008-02-11 Srinivasa Ragavan - - * NEWS: Evolution-Data-Server 2.21.91 release. - -2008-02-06 Matthew Barnes - - * 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 - - * 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 - - * configure.in: Version bump for 2.21.91 - -2008-01-29 Srinivasa Ragavan - - * NEWS, configure.in: Evolution Data Server 2.21.90 release. - -2008-01-26 Matthew Barnes - - * docs/reference: Refresh the API docs. - -2008-01-24 Tor Lillqvist - - * 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 - - ** Fix for bug #511717 - - * camel/providers/imap/camel-imap-store.c: (imap_build_folder_info): - Add gettext imap folders. - -2008-01-19 Matthew Barnes - - * 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 - - * docs/reference/camel/camel-sections.txt: - Add camel_session_build_password_prompt. - -2008-01-15 Dan Winship - - * 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 - - * configure.in: Version bump to 2.21.90 - -2008-01-14 Srinivasa Ragavan - - * NEWS: Evolution Data Server 2.21.5 release. - -2008-01-14 Matthew Barnes - - * 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 - - ** 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 - - * 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 - - * configure.in: Version bump to 2.21.5. - -2007-12-17 Srinivasa Ragavan - - * NEWS, configure.in: Evolution Data Server 2.21.4 release. - -2007-12-17 Matthew Barnes - - * configure.in: - Bump gtk-doc requirement to 1.9 for gtkdoc-rebase. - -2007-12-07 James "Doc" Livingston - - ** 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 - - * NEWS, configure.in: Evolution Data Server 2.21.3 release. - -2007-11-26 Milan Crha - - ** 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 - - * NEWS, configure.in: Evolution Data Server 2.21.2 release. - -2007-11-14 Matthew Barnes - - ** Remove trailing whitespace from source code. - -2007-11-13 Ondrej Jirman - - ** 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 - - * NEWS, configure.in: Evolution Data Server 2.21.1 release. - -2007-10-29 Matthew Barnes - - * 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 - - * docs/reference/calendar/libecal/libecal-sections.txt: - * docs/reference/libedataserverui/libedataserverui-sections.txt: - Remove non-existent symbols. - -2007-10-23 Chenthill Palanisamy - - * configure.in: - * evolution-data-server-zip.in: - * servers/Makefile.am: Initial commit for the google - calendar. - - Committing on behalf of Ebby Wiselyn - -2007-10-22 Matthew Barnes - - * Fixes part of bug #417999 - - * docs/reference/libedataserverui: - Add documentation for ESourceComboBox widget. - -2007-10-09 Matthew Barnes - - * iconv-detect.c (main): Remove an unused variable (#483301). - -2007-09-07 Kjartan Maraas - - * 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 - - * libedataserver/e-iconv.c: - Mark the charset and language arrays as const. - -2007-09-17 Srinivasa Ragavan - - * NEWS, configure.in: Evolution Data Server 1.12.0 release - -2007-09-03 Srinivasa Ragavan - - * NEWS, configure.in: Evolution Data Server 1.11.92 release - -2007-08-28 Ross Burton - - * */*: - Fix FSF address (Tobias Mueller, #470445) - -2007-08-27 Srinivasa Ragavan - - * NEWS, configure.in: Evolution Data Server 1.11.91 release - -2007-08-24 Milan Crha - - ** 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 - - ** 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 - - * docs: Refresh Gtk-Doc "section" files. - -2007-08-16 Matthew Barnes - - * 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 - - ** 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 - - * NEWS, configure.in: Evolution Data Server 1.11.90 release - -2007-08-13 Ross Burton - - * 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 - - ** Fix for bug #455799 - - Remove all .cvsignore and update svn:ignore porperty in whole - directories. - -2007-08-08 Srinivasa Ragavan - - * MAINTAINERS: Updated the email, svn account. - -2007-08-02 Ross Burton - - * configure.in: - If building against libsoup-2.2, we need 2.2.91 for - SOUP_SESSION_TIMEOUT (#451003). - -2007-07-31 Veerapuram Varadhan - - * NEWS, configure.in: Evolution Data Server 1.11.6.1 release - -2007-07-30 Veerapuram Varadhan - - * NEWS, configure.in: Evolution Data Server 1.11.6 release - -2007-07-30 Chenthill Palanisamy - - * configure.in: Updated the libtool version for libedataserver - version since some APIS has been added. - -2007-07-30 Chenthill Palanisamy - - * libedataserver/e-source.[ch]: (e_source_get_duped_property): - Added a API to get the duped property. - -2007-07-30 Milan Crha - - * 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 - - * 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 - - ** Fix for bug #457523. - - * libedataserver/e-sexp.c : Reverting fix for #364731. This is - fixed in evolution. - -2007-07-27 Hiroyuki Ikezoe - - * libedataserver/e-account-list.c: Plugged memory leak. - -2007-07-09 Srinivasa Ragavan - - * NEWS, configure.in: Evolution Data Server 1.11.5 release - -2007-07-03 Milan Crha - - ** 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 - - * libedataserver/e-account.h: - Added new property get_password_canceled into EAccountService - struct, because of bug #307410 - -2007-07-02 Christian Kirbach - - * camel/providers/imap4/camel-imap4-summary.c: - Fix one typo and wrong preposition (bug #452996). - -2007-06-19 Karsten Bräckelmann - - * configure.in: Correct the comment for --enable-gnome-keyring, - fixes bug #448947. - -2007-06-18 Srinivasa Ragavan - - * NEWS, configure.in: Evolution Data Server 1.11.4 release. - -2007-06-18 Srinivasa Ragavan - - ** Fix for bug #448589 from Tobias Mueller - - ** src/Makefile.am: Add support for automake 1.6 - -2007-06-18 Srinivasa Ragavan - - ** Fix for bug #443958 from Sebastien Tandel - - * configure.in: Add support for help string. - -2007-06-18 Srinivasa Ragavan - - ** Fix for bug #437751 from Andreas Köhler - - * libedataserver/e-time-utils.c: - -2007-06-05 Irene Huang - - * configure.in: Add option for using Sun Kerberos - fixing bug #344728 - -2007-05-14 Srinivasa Ragavan - - * NEWS, configure.in: Evolution Data Server 1.11.3 release. - -2007-06-03 Ross Burton - - * 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 - - * docs/reference/addressbook/libebook/Makefile.am: - * docs/reference/calendar/libecal/Makefile.am: - Fix some distcheck errors (#438577). - -2007-05-25 Pascal Terjan - - * camel/camel-stream-mem.c: fix typos in the API documentation - -2007-05-24 Ross Burton - - * configure.in: - Fix krb5 checks when using --as-needed (part of #342830, John - N. Laliberte). - -2007-05-24 Ross Burton - - * libedataserverui/Makefile.am: - Add missing link flags to fix build with -z,defs. (#409542, Loic - Minier) - -2007-05-21 Wang Xin - - * libedataserver/e-time-utils.c: Fixes #439050. - -2007-05-20 Ross Burton - - * configure.in: - Use a faster pkgconfig call when checking for soup (#438975). - -2007-05-16 Jules Colding - - * configure.in: Removed unused function check - -2007-05-14 Jules Colding - - * 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 - - ** Fix for bug #361138 - - * libedataserver/e-data-server-util.c: Handle strftime for non-indic - locales. - -2007-05-08 Josselin Mouette - - reviewed by: Srinivasa Ragavan - - * 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 - - * 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 - - * docs/reference/camel/Makefile.am: - Remove reference to nonexistent libutil.la. - -2007-05-07 Matthew Barnes - - * libedataserver/e-sexp.c: - Fix warnings reported by 'sparse'. Patch from Kjartan Maraas. - -2007-04-27 Matthew Barnes - - ** Fixes part of bug #418852 - - * configure.in: - * docs/reference/camel: - * docs/reference/Makefile.am: - Resurrect Camel's API documentation. - -2007-04-24 Matthew Barnes - - * docs/reference: - Refresh SGML templates and add the appropriate CFLAGS to satisfy - "make distcheck". - -2007-04-23 Srinivasa Ragavan - - ** NEWS, configure.in: Evolution data server 1.11.1 release - -2007-04-20 Srinivasa Ragavan - - ** Fix for bug #425535 from Frederic Crozat - - * src/server.c: Dont submit path of EDS for segv_handler. - -2007-04-19 Pascal Terjan - - * camel/camel-gpg-context.c: - Convert messages from gnupg to UTF-8 (#423382). - -2007-04-19 Matthew Barnes - - * 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 - - * configure.in: - Make the libiconv test program returns a value. (#388789) - -2007-04-05 Ross Burton - - * libedataserver/e-file-cache.c: - * libedataserver/e-data-server-util.h: - Use g_mkdir_with_parents (#383686). - -2007-04-04 Ross Burton - - * 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 - - * 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 - - * 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 - - * 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 - - * libedataserver/e-data-server-module.c: - Fix "incompatible pointer type" warnings (#360619). - -2007-03-26 Matthew Barnes - - * 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 - - * MAINTAINERS : Updates on the new guards. - -2007-03-12 Harish Krishnaswamy - - * NEWS, configure.in: Evolution-Data-Server 1.10 - release updates. - -2007-03-08 Ross Burton - - * 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 (#413173). - -2007-03-08 Ross Burton - - * 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 - - * NEWS, configure.in: Evolution-Data-Server 1.9.92 - release updates. - -2007-02-26 Harish Krishnaswamy - - * configure.in : Update intltool version. - -2007-02-23 Matthew Barnes - - ** Fixes bug #356177 - - * libedataserver/e-msgport.h: Deprecate EMutex. - -2007-02-12 Srinivasa Ragavan - - * NEWS, configure.in: Evolution-Data-Server 1.9.91 - release updates. - -2007-02-12 Kjartan Maraas - - * libedataserver/e-sexp.c: (parse_value): Fix a crash. - Patch from Trond Myklebust. Closes bug #360017. - -2007-02-12 Ross Burton - - * configure.in: - Don't use AM_PATH_ORBIT, but pkg-config (#400544). - -2007-02-12 Priit Laes - - * configure.in: Prefix wasn't set for idl files which where then - installed to /idl. Fixes bug #373495 - -2007-02-07 Matthew Barnes - - ** 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 - - Commiting on behalf of Andreas Henriksson . - - * libdb/hash/hash_open.c: Fixes the order of memset arguments. - -2007-01-23 Veerapuram Varadhan - - * NEWS, configure.in: Evolution-Data-Server 1.9.6 - release updates. - -2007-01-08 Harish Krishnaswamy - - * src/server.c : s/g_message/printf. Do not call - glib methods before g_thread_init. - -2007-01-08 Harish Krishnaswamy - - * NEWS, configure.in: Evolution-Data-Server 1.9.5 - release updates. - -2007-01-08 Veerapuram Varadhan - - ** Fixes eds part of bgo #362638 - Patch submitted by Matthew - Barnes - - * libedataserver/e-msgport.[ch]: Obsolete EThread - -2006-12-18 Veerapuram Varadhan - - * NEWS, configure.in: Evolution-Data-Server 1.9.4 - release updates. - - * camel/Makefile.am: Enable versioning for camel library - -2006-12-09 Tor Lillqvist - - * 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 - - * NEWS, configure.in: Evolution-Data-Server 1.9.3 - release updates. - -2006-11-19 Matthew Barnes - - 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 - - * NEWS, configure.in: Evolution-Data-Server 1.9.2 - release updates. - -2006-11-06 Harish Krishnaswamy - - * libedataserver/e-list-iterator.c: (e_list_iterator_new): - Partial fix for #358004. Ensure type correctness on the argument. - -2006-10-16 Harish Krishnaswamy - - * NEWS, configure.in: Evolution-Data-Server 1.9.1 - release updates. - -2006-10-16 Matthew Barnes - - 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 - - * Committed the patch made by Matthew Barnes - - * 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 - - * evolution-data-server-zip.in: Use BASE_VERSION in path for the - zoneinfo, too. - -2006-10-02 Harish Krishnaswamy - - * NEWS, configure.in: Evolution-Data-Server 1.8.1 - release updates. - -2006-09-29 Ross Burton - - * 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 - - * 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 - - Fixes #356828 - - * src/Makefile.am: Add a uninstall-local rule to remove - $(DESTDIR)$(libexecdir)/evolution-data-server-$(BASE_VERSION). - -2006-09-18 Matthew Barnes - - 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 - - * NEWS, configure.in: Evolution-Data-Server 1.8.0 - release updates. - -2006-09-01 Harish Krishnaswamy - - * configure.in, camel/providers/Makefile.am: - Make IMAP4rev1 provider a conditional feature, - turned off by default. Fixes #324118. - -2006-08-21 Srinivasa Ragavan - - * configure.in, NEWS: EDS 1.7.92 release. - -2006-08-19 Chenthill Palanisamy - - 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 - - * configure.in, NEWS: EDS 1.7.91 release. - -2006-08-07 Harish Krishnaswamy - - * 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 - - ** Fixes #343976 - * libedataserver/e-msgport.c (e_msgport_put): Make e_msgport_put - symmetric to e_msgport_wait - Patch contributed by Ed Catmur - -2006-07-25 Harish Krishnaswamy - - * configure.in, NEWS: EDS 1.7.90.1 release. - -2006-07-24 Harish Krishnaswamy - - * NEWS, configure.in: EDS 1.7.90 release updates - and version, libtool numbers bumped. - -2006-07-21 Luca Ferretti - - * configure.in: add support for xulrunner and seamonkey (NSS and NSPR). - (committed by Karsten Bräckelmann) - -2006-07-10 Harish Krishnaswamy - - * configure.in, NEWS: EDS 1.7.4 release updates - and version, libtool numbers bumped. - -2006-07-10 Frederic Peters - - * *.pc.in: defined @datarootdir@. Fixes #344596. - -2006-07-08 Chenthill Palanisamy - - Fixes #335692 - * libedataserver/e-iterator.c (e_iterator_is_valid): - Added a NULL check. - -2006-06-16 Tor Lillqvist - - * 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 - - * 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 - - * src/server.c: - changing "couldn't", "can't" and "didn't" to proper - English. Fixes bug #342160. - -2006-06-12 Harish Krishnaswamy - - * configure.in, NEWS: EDS 1.7.3 release updates - and version, libtool numbers bumped. - -2006-06-12 simon.zheng - - Fix for #336453 - * acinclude.m4: - * configure.in: - Add SunLDAP library support - a variant of Netscape LDAP. - -2006-06-07 Frederic Peters - - * configure.in: Assume strftime() is ok and supports %l and %k when - running in cross-compilation mode. - -2006-06-02 Tor Lillqvist - - * 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 - - * 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 - - 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 - - * configure.in: Added gnome-vfs-2.0 to camel library - -2006-05-24 Ross Burton - - * 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 - - * configure.in: Update intltool requirements. - -2006-05-18 Devashish Shamra - - * libedataserver/e-dbhash.c (e_dbhash_new) :If there is an error in opening the - database delete the DB structure. - Patch by Ross Burton - Fixes Bug #340039. - -2006-05-15 Harish Krishnaswamy - - * 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 - - * 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 - - * libedataserver/e-data-server-module.h: - * libedataserver/e-data-server-module.c: - Allow EDataServerModule to remove unused modules (#319396). - -2006-05-02 Kjartan Maraas - - * configure.in: Patch from Sushuma Rai to fix build with - modern openldap versions. Closes part of bug #325957. - -2006-04-25 Brian Pepple - - * 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 - - * configure.in: Figure out auto-magically what the mozilla-nss - pkg-config module name is. - -2006-04-24 Harish Krishnaswamy - - * NEWS, configure.in: Release updates. Bump version. - ***** Release 1.7.1 ***** - -2006-04-24 Devashish Sharma - - * 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 - -2006-04-18 Jeffrey Stedfast - - * configure.in: Added the Mail Directory configure info. - -2006-04-17 Kjartan Maraas - - * configure.in: Remove obsolete entry for no_NO. - -2006-04-10 Tor Lillqvist - - * 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 - - * 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 - - Fixes #334807 - * libedataserver/e-source-group.c: Check if the - object is created before accessing it. - -2006-03-22 Tommi Vainikainen - - * configure.in (ALL_LINGUAS): Added Dzongkha (dz). - -2006-03-20 Srinivasa Ragavan - - * configure.in: Added support for gnome-key-ring. - -2006-03-02 Devashish Sharma - - 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 - - * configure.in, NEWS: Release updates. Bump version. - ***** Release 1.5.92 ***** - -2006-02-27 Tor Lillqvist - - * 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 - - 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 - - * configure.in, NEWS: Release updates. Bump version. - ***** Release 1.5.91 ***** - -2006-02-09 Kjartan Maraas - - * 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 - - * libedataserver/e-source-list.c (e_source_list_is_gconf_updated): - Fixed some memory leaks. See #329251. - -2006-02-09 Sushma Rai - - * libedataserver/e-categories.c (initialize_categories_config): Freeing - xml properties. See #309316. - -2006-02-06 Harish Krishnaswamy - - * evolution-data-server.pc.in: Add variable execversion - that denotes the version of the evolution-data-server - executable. - -2006-02-04 Theppitak Karoonboonyanan - - * configure.in: Added 'th' (Thai) to ALL_LINGUAS. - -2006-02-02 Tor Lillqvist - - * 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 - - * configure.in, NEWS: Release updates, bump version - ***** Release 1.5.90 ***** - -2006-01-30 Harish Krishnaswamy - - * 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 - - * 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 - - * configure.in: add "zh_HK" to ALL_LINGUAS. - -2006-01-17 Harish Krishnaswamy - - * configure.in, NEWS: Release updates, bump version - libtool numbers. - ***** Release 1.5.5 ***** - -2006-01-16 P S Chakravarthi - - * 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 - - * configure.in : Add target for CALDAV calendar - backend. - -2006-01-12 Harish Krishnaswamy - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * NEWS, configure.in: Release updates, bump version - libtool numbers. - ***** Release 1.5.4 ***** - -2005-12-13 Tor Lillqvist - - * 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 - - * NEWS, configure.in: Release updates, bump version - libtool numbers. - ***** Release 1.5.3 ***** - -2005-12-09 Tor Lillqvist - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - reviewed by Srinivasa Ragavan - - * 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 - - * 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 - - * 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 - - * libedataserver/md5-utils.c: - * libedataserver/e-component-listener.c: - Fix build. - -2005-11-17 Ross Burton - - * 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 - - * 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 - - * libedataserver/e-data-server-module.c - Use lazy bindings (#321515) - -2005-11-14 Harish Krishnaswamy - - * NEWS, configure.in: Release updates, bump version. - ***** Release 1.5.2 ***** - -2005-10-28 Erdal Ronahi - - * configure.in: Added ku (Kurdish) to ALL_LINGUAS - -2005-10-28 Sushma Rai - - * 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 - - * src/GNOME_Evolution_DataServer.server.in.in: - Fixed bonobo server install locations as well. - (See below.) - -2005-10-25 Harish Krishnaswamy - - * 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 - - * 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 - - * configure.in: - Change UTF-8 check from ISO-2022-JP to ISO-8859-1 (#317451). - -2005-10-14 Ross Burton - - * 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 - - Fixes #273149. - * libedataserver/e-categories.c: adding translator comment for - "hot contacts". - -2005-09-16 Tor Lillqvist - - * 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 - - * 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 instead of a - random set of . 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 . Declare - e_util_pthread_id(). - -2005-09-14 Tor Lillqvist - - * 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 - - * confugure.in : Add API_VERSION to config.h - -2005-08-29 Harish Krishnaswamy - - * configure.in : Update release number to 2.4.0 - -2005-08-26 Chenthill Palanisamy - - * configure.in: Do not build camel docs. - * docs/reference/Makefile.am: Removed camel docs. - reviewed by Parthasarathi Susarla - -2005-08-22 Not Zed - - * libedataserver/e-xml-hash-utils.c (e_xmlhash_foreach_key): cast - the func to remove a warning. - -2005-08-22 Harish Krishnaswamy - - * configure.in : bump version - ***** Release 1.3.8 ***** - -2005-08-22 Harish Krishnaswamy - - * 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 - -2005-08-22 Shreyas Srinivasan - - * configure.in: Build camel-docs. - * docs/reference/Makefile.am: Build camel-docs. - -2005-08-21 Chenthill Palanisamy - - * libedataserver/e-xml-hash-utils.[ch]: - (e_xmlhash_foreach_key_remove): function to remove - hash keys. - Committing for Armin Bauer - and modified by and - . - -2005-08-19 Sarfraaz Ahmed - - * 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 - - * configure.in : Build libedataserver api docs - -2005-08-18 Tor Lillqvist - - * 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 - - * 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 - - * configure.in: Update version, libtool numbers. - - *****Release 1.3.7***** - -2005-08-05 Harish Krishnaswamy - - * configure.in: fix for bug #300048. patch - submitted by Roland Illig - -2005-07-30 Harish Krishnaswamy - - * configure.in: update libtool numbers for libebook - -2005-07-29 Harish Krishnaswamy - - * configure.in: Bump version number - - *****Release 1.3.6.1***** includes fix for - #311731 - (Removing folders from an IMAP) - - -2005-07-28 Tor Lillqvist - - * src/GNOME_Evolution_DataServer.server.in.in: Use EXEEXT. - -2005-07-26 Harish Krishnaswamy - - * configure.in : bump version - ****** Release 1.3.6 ***** - -2005-07-21 Joe Shaw - - * 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 - - * 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 - - * configure.in : Substituting the CURRENT:REVISION:AGE variables for - library versions - -2005-07-12 Harish Krishnaswamy - - * configure.in : bump version, libtool numbers. - ***** Release 1.3.5 ***** - -2005-07-06 Ross Burton - - * libedataserver/e-util.c: - Remove a function and table which is in GLib. - -2005-07-06 Harish Krishnaswamy - - * configure.in : align the name of the LIBEXCHANGE_STORAGE - to the conventions (_ instead of -). - -2005-07-02 Harish Krishnaswamy - - * configure.in : bump version, libtool numbers. - -2005-07-02 Harish Krishnaswamy - - * libedataserver/e-categories.c: (initialize_categories_config): - Fix all the compiler warnings. - -2005-06-22 Tor Lillqvist - - * 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 - - * servers/Makefile.am : use ENABLE_LDAP instead of HAVE_LDAP - * configure.in : And rename HAVE_KRB5 to ENABLE_KRB5. - -2005-06-12 Sarfraaz Ahmed - - * 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 - - * configure.in : Fixed a minor typo to fix make clean. - -2005-06-10 Sarfraaz Ahmed - - * 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 - - * configure.in : Do not build camel docs. They are borked now :( - -2005-06-07 Harish Krishnaswamy - - * configure.in : bump version, libtool numbers. - -2005-05-31 Rodrigo Moya - - * src/GNOME_Evolution_DataServer.server.in.in: added missing - names for CORBA services. - -2005-05-28 Kjartan Maraas - - * configure.in: Disable the libedataserver api docs build - * docs/reference/Makefile.am: Here too. It doesn't build. - -2005-05-24 Tor Lillqvist - - * 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 - - 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 - - * 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 - - * configure.in : bump version, libtool numbers. - -2005-05-18 Harish Krishnaswamy - - * docs/reference/Makefile.am : Do not build - camel docs. They are a bit flaky ATM. - -2005-05-13 Rodrigo Moya - - * 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 - - * libedataserver/e-categories.c: Add new Anniversary category, - Fixes #256874 - -2005-05-13 Harish Krishnaswamy - - * configure.in: export LIBSOUP for use elsewhere. - -2005-05-06 Tor Lillqvist - - * 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 - - * configure.in: Added "docs/reference/calendar/libedata-cal". - -2005-05-04 Rodrigo Moya - - * 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 - - * docs/reference/calendar/*: improved API documentation. - -2005-04-26 Harish Krishnaswamy - - * configure.in: bump version, libtool numbers. - -2005-04-25 Harish Krishnaswamy - - * configure.in: Modify camelproviderdir to use API_VERSION. - * evolution-data-server.pc.in: use VERSION instead of API_VERSION. - -2005-04-20 Ross Burton - - * src/offline-listener.c: - Remove an usused variable. - -2005-04-20 Ross Burton - - * 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 - - * 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 - - * src/offline-listener.c: Don't leak a GConfValue. - -2005-04-20 James Henstridge - - * 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 - - * 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 - - * 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 - - * po/en_GB.po: Updated British English translations - -2005-03-31 Steve Murphy - - * configure.in: Added "rw" to ALL_LINGUAS. - -2005-03-30 Adi Attar - - * configure.in: Added "xh" to ALL_LINGUAS. - -2005-03-29 James Bowes - - * 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 - - * configure.in: Add ne in ALL_LINGUAS - -2005-03-23 James Bowes - - * 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 - - * configure.in: bump version, libtool numbers - -2005-02-28 JP Rosevear - - * configure.in: bump version, libtool numbers - -2005-02-10 Kjartan Maraas - - * libedataserver/e-data-server-module.c: (load_module_dir): - Don't leak the module path. - -2005-02-09 Hans Petter Jansson - - * libdb/dbinc/mutex.h: Fix PPC assembly. - -2005-02-07 JP Rosevear - - * configure.in: bump version. libtool numbers - -2005-02-07 Ross Burton - - * libedataserver/e-db3-utils.c: - Remove useless libgnome use. - -2005-02-03 Ross Burton - - * 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 - - * 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 - - * configure.in: Generate the old imap makefile. - -2005-01-28 Rodrigo Moya - - * libedataserver/e-categories.c (initialize_categories_config): pass - a correct boolean value as the 'searchable' flag. - -2005-01-26 JP Rosevear - - 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 - - * 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 - - * configure.in: bump version, libtool numbers - -2005-01-21 Jeffrey Stedfast - - * 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 - - * 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 - - * configure.in: Added 'ar', 'cy', 'he', 'hi', 'is', 'mk', 'ml', - 'wa' to ALL_LINGUAS. - -2005-01-14 Not Zed - - * 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 - - * 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 - - * 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 - - * 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 - - * configure.in: - * Makefile.am: added weather calendar backend to build. - -2005-01-05 Rodrigo Moya - - * 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 - - * 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 - - * libedataserver/e-categories.c (initialize_categories_config): use _() - instead of N_() for translatable strings. - -2005-01-04 Rodrigo Moya - - * 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 - - * 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 - - * Makefile.am: clean iconv-detect.h - -2004-12-29 David Trowbridge - - * libedataserver/e-source.c: Add logic for emitting a "changed" signal - if any of the properties change - -2004-12-27 Rodrigo Moya - - * 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 - - * 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 - - * Makefile.am: build servers/ dir before camel/. - -2004-12-20 David Mosberger-Tang - - * 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 - - * 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 - - * configure.in: bump version, libtool numbers - -2004-12-20 JP Rosevear - - * libedataserverui/test-name-selector.c (main): no need to init - mime utils explicitly any more - -2004-12-20 Hans Petter Jansson - - * libedataserverui/test-name-selector.c (main): Don't lie to - gnome_program_init () about our name. - -2004-12-20 Hans Petter Jansson - - * 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 - - * 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 - - * libedataserverui/libedataserverui.pc.in: Remove gladedir definition, - it's useless and breaks the evo build. - -2004-12-16 Hans Petter Jansson - - * 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 - - * 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 - - * configure.in: Pull in libglade-2.0. - -2004-12-09 Hans Petter Jansson - - * 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 - - * configure.in: check for zlib, for the gzip mime filter - -2004-12-07 Rodrigo Moya - - 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 - - * Makefile.am (EXTRA_DIST): Add iconv-detect.c - -2004-12-06 Jeffrey Stedfast - - * 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 - - * 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 - - * configure.in: Display configuration info after configure runs - (S/MIME, SSL, Kerberos, etc) - -2004-12-03 Not Zed - - * libedataserver/Makefile.am (libedataserver_1_2_la_LIBADD): add - iconv_libs to the library list. - -2004-12-01 Hans Petter Jansson - - * Makefile.am: Build libedataserverui after non-UI libraries that it - may depend on. - -2004-11-28 JP Rosevear - - * configure.in: bump version, libtool numbers - -2004-11-25 Harish Krishnaswamy - - * 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 - - * 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 - - * 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 - - * configure.in: use evolution-data-server-$BASE_VERSION as the - GETTEXT_PACKAGE. - -2004-11-03 Ryan Skadberg - - Fixes #69056 - - * configure.in: Fix GETTEXT_PACKAGE to be 1.2 to match EDS version. - -2004-11-02 JP Rosevear - - Fixes #68737 - - * configure.in: require libbonobo >= 2.4.2 - -2004-11-01 Hans Petter Jansson - - * libdb/dbinc/mutex.h: Remove duplicated x86-64 mutex definition. - -2004-10-27 JP Rosevear - - * src/server.c: include just include signal.h for portability - -2004-10-21 Rodrigo Moya - - * 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 - - * libedataserverui/e-source-selector.c: G_DEFINE_TYPE cleanups for - parent class - - * libedataserverui/e-source-option-menu.c: ditto - -2004-10-14 JP Rosevear - - * libedataserverui/libedataserverui.pc.in: link to the right lib - and require libedataserver 1.2 - -2004-10-13 JP Rosevear - - * libedataserver/e-data-server-marshal.list: add missing - marshaller list - -2004-10-13 JP Rosevear - - * Makefile.am: build libedataserverui - -2004-10-13 JP Rosevear - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - ** 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 - - * 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 - - * 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 - - * 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 - - * configure.in: update version to 1.1.0 and BASE_VERSION to 1.2 - -2004-09-14 Roozbeh Pournader - - * configure.in: Added 'fa' (Persian) to ALL_LINGUAG. - -2004-09-14 Tomasz Kłoczko - - * servers/groupwise/Makefile.am: automake fix for paralel build ("make -j"). - -2004-09-10 Mohammad DAMT - - * configure.in: Added 'id' to ALL_LINGUAS - * po/id.po: Added Indonesian translation - -2004-08-27 Akagic Amila - - * configure.in: Added 'bs' to ALL_LINGUAS. - -2004-08-26 JP Rosevear - - * configure.in: bump verision, libtool numbers - -2004-08-26 Not Zed - - ** 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 - - * 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 - - * 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 - - * configure.in: Added «nb» to ALL_LINGUAS. - -2004-08-13 JP Rosevear - - * configure.in: bump version, libtool numbers, soup requirement - -2004-08-13 Rodney Dawes - - * acinclude.m4: Revert previous EVO_LDAP_CHECK changes, aren't working - as well as expceted and determined in testing - -2004-08-13 Rodney Dawes - - * acinclude.m4: Remove EVO_CHECK_LIB - Update EVO_LDAP_CHECK to support --with-openldap-{libs,includes} - -2004-08-09 Ankit Patel - - * configure.in: Added Gujarati & Panjabi - -2004-08-06 Sayamindu Dasgupta - - * configure.in: Added bn (Bengali) to ALL_LINGUAS. - -2004-08-02 JP Rosevear - - * configure.in: bump version, libtool numbers - -2004-08-02 Not Zed - - * 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 - - * 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 - - * configure.in: bump version, libtool numbers, soup requirement - -2004-07-16 Sivaiah Nallagatla - - * 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 - - [ 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 - - * libedataserver/e-source.[ch] (e_source_build_absolute_uri): made - this function public. - -2004-07-07 Not Zed - - * src/server.c (main): bind to the right charset (i.e. utf8). See - #58976. - -2004-07-02 JP Rosevear - - * configure.in: bump version, libtool numbers - -2004-07-02 Chris Toshok - - [ 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 - - * src/server.c (main): Register a segv handler to popup bug-buddy - or whatever. Fixes bug #51165. - -2004-06-14 Not Zed - - * 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 - - * configure.in: bump version, libtool numbers - -2004-06-02 Chris Toshok - - * configure.in: bump to 0.0.93.1 so we can rev evo's dep. - -2004-06-01 Chris Toshok - - * libedataserver/e-source.c (e_source_set_absolute_uri): permit - NULL absolute_uri, so we can clear it. - -2004-06-01 Chris Toshok - - * 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 - - * libedataserver/e-file-cache.[ch] (e_file_cache_clean): new function. - -2004-05-27 Sushma Rai - - * 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 - - * 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 - - * configure.in: bump version, libtool numbers - -2004-05-17 Rodney Dawes - - * 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 - - * addressbook/backend/ldap/e-book-backend-ldap.c: Added new complex - handlers for postal address fields. Bug # 45210 - -2004-05-03 JP Rosevear - - * 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 - - * 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 - - * 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 - - * libedataserver/e-dbhash.c (e_dbhash_foreach_key): Call func with - 3 arguments (key, data, user_data). - -2004-04-26 Adam Weinberger - - * configure.in: Added en_CA to ALL_LINGUAS. - -2004-04-22 Jeffrey Stedfast - - * 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 - - * configure.in: bump version to 0.0.92.1. - -2004-04-21 Tomasz KÅ?oczko - - * acinclude.m4: minor fixes (added missing [] quotation). - -2004-04-19 JP Rosevear - - * configure.in: bump version, libtool numbers - -2004-04-13 Sivaiah Nallagatla - - * 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 - - * configure.in: bump version, libtool numbers - -2004-03-25 William Jon McCann - - * src/server.c (setup_cals): add registration of webcal protocol - for tasks. - -2004-03-19 Rodrigo Moya - - * src/Makefile.am: added $SOUP_CFLAGS, needed for - e-cal-backend-groupwise.h. - -2004-03-18 Rodrigo Moya - - * 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 - - * configure.in: yank --enable-debug option, not needed anymore. - -2004-03-15 Rodney Dawes - - * 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 - - * configure.in: bump version, libtool numbers and soup requirement - -2004-02-26 JP Rosevear - - * Makefile.am: dist the libdb stuff properly - -2004-02-26 Harish K - - * 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 - - * libedataserver/e-source-group.c - (e_source_group_new_from_xmldoc): don't leak uid. - -2004-02-23 JP Rosevear - - * 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 - - * 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 - - * 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 - - * configure.in (AM_PATH_ORBIT2): up our requirement to 2.9.8. - -2004-02-09 Michael Meeks - - * 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 - - * configure.in: Bump version, libtool numbers - - -2004-02-08 Robert Sedak - - * configure.in: Added "hr" (Croatian) to ALL_LINGUAS. - -2004-02-06 Rodrigo Moya - - * configure.in: - * Makefile.am: - * servers/Makefile.am: added servers/ dir to build. - -2004-02-03 Chris Toshok - - * libedataserver/libedataserver-1.0.pc.in (Requires): add - libxml-2.0 as the e-source* stuff needs it. - -2004-01-30 Rodrigo Moya - - * configure.in: require libsoup >= 2.1.6. - -2004-01-26 JP Rosevear - - * configure.in: Bump libtool versions, version, soup requirement - -2004-01-25 Sanlig Badral - - * configure.in: Added "mn" to ALL_LINGUAS. - -2004-01-24 Rodrigo Moya - - * configure.in: s/GROUPWISE/SOUP. - -2004-01-22 Thomas Cataldo - - * libedataserver/e-xml-hash-utils.c: (e_xml_to_hash): - Fix leak. - -2004-01-21 Rodrigo Moya - - * libedataserver/e-file-cache.[ch] (e_file_cache_remove): new function - to remove the file cache from disk. - -2004-01-21 JP Rosevear - - * configure.in: include calendar test stuff in AC_OUTPUT - -2004-01-21 Rodrigo Moya - - 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 - - * 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 - - * 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 - - * libedataserver/e-file-cache.c (add_object_to_list): use the GList ** - correctly when calling g_slist_prepend. - -2004-01-13 Laurent Dhima - - * configure.in: Added "sq" to ALL_LINGUAS. - -2004-01-12 JP Rosevear - - * configure.in: bump version, libtool numbers - -2004-01-12 Rodrigo Moya - - * 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 - - * libedataserver/e-file-cache.c (e_file_cache_set_property): fixed - memory leak. - -2004-01-09 ERDI Gergo - - * 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 - - * libedataserver/e-source-list.[ch] - (e_source_list_peek_group_by_name): new function. - -2004-01-08 JP Rosevear - - * libedataserver/e-source-list.c (e_source_list_sync): don't - remove the gconf listener - -2004-01-07 JP Rosevear - - * libedataserver/Makefile.am: remove DISABLE_DEPRECATED flags - -2004-01-05 Christian Neumair - - * addressbook/libebook/e-book.c: Generalize some more strings. - -2004-01-05 Christian Neumair - - * calendar/libedata-cal/e-cal-backend-sexp.c: Generalize some strings. - -2004-01-05 Rodrigo Moya - - * libedataserver/e-file-cache.[ch] (e_file_cache_get_objects): new - function to get all objects in the cache. - -2003-12-29 JP Rosevear - - * configure.in: bump libsoup requirement, version, libtool numbers - -2003-12-23 Ross Burton - - * 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 - - * 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 - - * 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 - - * 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 - - * libedataserver/e-source.c (e_source_equal): Implement. Compares - two sources based on UID and full URI. - -2003-12-12 Rodrigo Moya - - * configure.in: added --enable-debug argument. - -2003-12-10 Chris Toshok - - * Makefile.am (ACLOCAL_AMFLAGS): remove - -2003-12-08 Rodrigo Moya - - * 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 - - * 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 - - * 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 - - * 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 - - * src/GNOME_Evolution_DataServerNOLDAP.server.in.in: version our - repo_ids - - * src/GNOME_Evolution_DataServerLDAP.server.in.in: ditto - -2003-12-07 Chris Toshok - - * libdb/dist/Makefile.in: make install depend on all. - -2003-12-07 JP Rosevear - - * configure.in: bump version and libsoup requirement - -2003-12-04 JP Rosevear - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * Makefile.am: remove \ on last line of LIBDB_FILES - -2003-11-26 JP Rosevear - - * tags: add a dummy file for disting - -2003-11-25 Chris Toshok - - * 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 - - * 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 - - * 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 - * 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 - - * 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 - * 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 - - * autogen.sh: Remove extra #!/bin/sh line - -2003-11-19 JP Rosevear - - * MAINTAINERS: Update - -2003-11-18 Rodrigo Moya - - * configure.in: require libsoup version from CVS (2.1.1). - -2003-11-17 Rodrigo Moya - - * configure.in: added libsoup-2.2 as a dependency for Groupwise. - -2003-11-14 JP Rosevear - - * 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 - - * src/server-interface-check.[ch]: fixed copyright comments. - -2003-11-14 Rodrigo Moya - - * 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 - - * acinclude.m4: Add the GTK_DOC_CHECK m4 macro here, as we need it - -2003-11-11 Chris Toshok - - * 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 - - * Makefile.am: build docs - - * configure.in: check for gtk-doc - -2003-11-08 Hans Petter Jansson - - * 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 - - * 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 - - * configure.in: Remove kerberos checks since we don't need them here - -2003-11-06 JP Rosevear - - * 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 - - * configure.in: Remove dependencies for GUI libs that we don't need - -2003-11-06 JP Rosevear - - * libedataserver/Makefile.am: e-msgport is no longer needed - -2003-11-06 JP Rosevear - - * src/server.c: include the addressbook backend files properly - - * src/Makefile.am: link to the individual addressbook backends - -2003-11-06 JP Rosevear - - * src/server.c: include the backend files properly - - * src/Makefile.am: link to the individual backends - -2003-11-06 JP Rosevear - - * 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 - - * src/server.c: following renaming of libedata-book - - * src/server-interface.[hc]: ditto - -2003-11-05 JP Rosevear - - * src/server.c: following renaming of libedata-cal - - * src/server-interface.[hc]: ditto - -2003-11-05 JP Rosevear - - * 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 - - * 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 - - * src/server.c: tidy up logging messages - -2003-11-04 JP Rosevear - - * 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 - - * 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 - - * 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 - - * src/GNOME_Evolution_DataServerNOLDAP.server.in.in: - * src/GNOME_Evolution_DataServerLDAP.server.in.in: Add "webcal" to - supported protocols. - -2003-11-04 JP Rosevear - - * MAINTAINERS, TODO: update - -2003-11-04 JP Rosevear - - * 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 - - * configure.in: don't need EVO_DIR - -2003-11-03 JP Rosevear - - * configure.in: remove trailing slash - -2003-11-03 JP Rosevear - - * 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. diff --git a/Makefile.am b/Makefile.am index ca8b09d..d90fbe6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -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 index 8de637b..0000000 --- a/addressbook/ChangeLog +++ /dev/null @@ -1,5678 +0,0 @@ -2009-04-24 Milan Crha - - ** 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 - - * libebook/e-contact.c: (n_setter): - Use the standard confitional if sentence. - ** Fixes bug 573870 - -2009-03-03 Tobias Mueller - - * 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 - - * 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 - - ** 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 - - * 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 - - * libebook/e-contact.c: Fix a build break - -2009-02-16 Ross Burton - - * libebook/e-book-types.h: - Add a "no space" error. - -2009-02-16 Ross Burton - - * libebook/e-contact.c: - * libebook/e-contact.h: - Add EVC_X_SIP and E_CONTACT_SIP. - -2009-02-16 Ross Burton - - * libebook/e-book-view.h: - * libebook/e-book-view-private.h: - Move e_book_view_set_book to -private. - -2009-02-16 Ross Burton - - * libebook/e-contact.c: - * libebook/e-contact.h: - Add e_contact_field_id_from_vcard(). - -2009-02-16 Ross Burton - - * libebook/e-contact.c: - Handle EContactName structures containing NULLs. - -2009-02-09 Milan Crha - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - * 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 - - ** 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 - - ** 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 - - ** Fix for BNC bugs #440265 && #447121 - - * addressbook/backends/groupwise/e-book-backend-groupwise.c: Fix some - stupidity. - -2008-11-07 Sankar P - - ** Patch committed on behalf of Ashish Shrivastava - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - * 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 - - * 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 - - * libebook/libebook.pc.in: - * libedata-book/libedata-book.pc.in: - Remove libgnome-2.0 as it isn't used. - -2008-09-14 Matthew Barnes - - * 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 - - * backends/google/Makefile.am (libebookbackendgoogle_la_LIBADD): - Link with libebackend. - -2008-09-08 Milan Crha - - ** 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 - - ** 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 - - ** 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 - - ** Fix for bug #548565 - - * backends/google/util.h: - Add 'void' to make it built on Solaris. - -2008-08-18 Milan Crha - - ** 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 - - (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 - - * 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 - - * 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 - - * 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 - - ** 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 - - ** 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 - - * backends/webdav/Makefile.am: Added libebook to the list of libraries - to be linked with. - -2008-08-04 Matthias Braun - - ** 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 - - ** Fix for bug #544284 - - * backends/google/util.h: - Use (void) 0 insead of '0' in the conditional statement. - -2008-07-21 Johnny Jacob - - * backends/google/Makefile.am (INCLUDES): Include from - top build directory. - -2008-07-21 Suman Manjunath - - Fixes a build break for Google contacts - - * backends/google/e-book-backend-google-factory.c: - -2008-07-21 Jörgen Scheibengruber - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - * backends/ldap/Makefile.am (libebookbackendldap_la_LIBADD): Link - with libebackend. - -2008-06-12 Paul Smith - - ** 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 - - * libedata-book/libedata-book.pc.in: Require libebackend-1.2. - -2008-04-30 Chenthill Palanisamy - - ** 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 - - ** 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 - - * 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 - - ** 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 - - * addressbook/backends/groupwise/e-book-backend-groupwise.c: Load - addressbook conditionally. - -2008-04-19 Jaap A. Haitsma - - 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 - - ** Part of fix for bug #526741 - - * libebook/e-contact.c: Do not include gnome-vfs anymore. - -2008-03-13 Milan Crha - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - * tests/ebook/test-changes.c (main): Use g_mkstemp() for portability. - -2008-02-22 Milan Crha - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - 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 - - * libebook/e-book.c: - Fix another G_GNUC_PRETTY_FUNCTION straggler. - -2008-01-28 Milan Crha - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - * libebook/e-contact.c: Fix a syntax error. - -2007-11-13 Ross Burton - - * libebook/e-contact.[ch]: - Add E_CONTACT_TEL to get a list of phone numbers (#495287). - -2007-11-11 Ross Burton - - * libebook/e-book.c: - Fix some memory leaks (#494304, thanks Ondrej Jirman) - -2007-10-29 Srinivasa Ragavan - - * backends/file/e-book-backend-file.c: (book_view_thread): Fix the crash - introduced by the previous commit. - -2007-10-22 Akhil Laddha - - ** 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 - - ** 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 - - * libebook/e-book.c: - Remove __FUNCTION__, which is a gcc-ism. (#488173, Jeff Cai) - -2007-10-16 Ross Burton - - * libebook/e-book-query.c: - Fix typo in documentation (#487270, Tollef Fog Heen) - -2007-10-11 Milan Crha - - ** 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 - - ** 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 - - * 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 - - ** 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 - - * backends/file/e-book-backend-file.c: - When creating the default contact, print errors to the console - (#475487). - -2007-09-27 Ross Burton - - * 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 - - * backends/file/e-book-backend-file.c: - Use G_LOCK instead of a static mutex for clearer code (#475494). - -2007-09-18 Ross Burton - - * libebook/e-vcard.c: - * libebook/e-name-western.c: - Fix API documentation. - -2007-09-07 Milan Crha - - ** Fix for bug #473880 - - * libebook/e-contact.c: (e_contact_get), (e_contact_get_property): - Fixes serious compiler warnings. - -2007-09-06 Srinivasa Ragavan - - ** 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 - - * libedata-book/e-book-backend-summary.c: - Add some const attributes. - -2007-08-28 Ross Burton - - * libedata-book/e-book-backend-sexp.c: - Add given_name and family_name to the search properties (#330185). - -2007-08-28 Ross Burton - - * libedata-book/e-book-backend-sexp.c: - Use G_N_ELEMENTS instead of a non-const int. - -2007-08-28 Ross Burton - - * */*: - Fix FSF address (Tobias Mueller, #470445) - -2007-08-17 Srinivasa Ragavan - - ** 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 - - * 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 - - ** 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 - - * 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 - - * 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 - - * 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 - - ** 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 - - ** 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 - - * 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 - - * libedata-book/e-data-book-view.c: - Only send remove notifications if the contact was in the view - originally. - -2007-07-28 Srinivasa Ragavan - - ** 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 - - * libedata-book/e-book-backend.c: - Always report connection status when connecting (#460681, thanks - Karl Relton). - -2007-06-03 Srinivasa Ragavan - - ** 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 - - * libebook/Makefile.am: - Fix some distcheck errors (#438577). - -2007-05-31 Ross Burton - - * libebook/e-vcard.[ch]: - Add e_vcard_attribute_remove_param(). - -2007-05-24 Ross Burton - - * libebook/e-contact.c: - Add const to declaration of e_contact_set to match the header. - -2007-05-22 Ross Burton - - * libebook/e-book-view-listener.c: - Use g_list_prepend/reverse rather than append. Thanks to Paolo - Borelli (#360114). - -2007-05-22 Ross Burton - - * 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 - - ** 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 - - * 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 - - * backends/file/e-book-backend-file.c: - Call set_errcall() earlier, so it can catch errors in env->open. - -2007-05-21 Ross Burton - - * 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 - - * 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 - - * 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 - - * backends/file/e-book-backend-file.c: - Don't duplicate the contact UID when modifying a contact. - -2007-05-16 Jules Colding - - * 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 - - * 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 - - * libebook/e-book.c: - Fix e_book_async_get_contact() which previously deadlocked. - -2007-05-15 Ross Burton - - * 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 - - * 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 - - * 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 - - * libedata-book/e-book-backend-db-cache.c: - Fix compile warnings by casting gpointer to char*. - -2007-05-04 Milan Crha - - ** 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 - - ** 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 - - * libebook/e-vcard.c: Optimise vCard folding (#433782 and #336574). - Contribution also from Milan Crha. - -2007-05-12 Ross Burton - - * 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 - - * 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 - - * 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 - - ** 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 - - ** 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 - - * backends/file/e-book-backend-file.c: - Allow contact creation to fail, and propagate the error back - (#424837). - -2007-04-19 Ross Burton - - * 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 - - * 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 - - ** 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 - - * 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 - - * 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 - - * libebook/e-contact.c: - Don't go via GObject properties when calling - e_contact_get. (#385078). - -2007-04-04 Ross Burton - - * 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 - - * libebook/e-vcard.c: - Use slice allocator, g_list_prepend/reverse and some other - micro-optimisations (#425464). - -2007-04-01 Matthew Barnes - - ** 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 - - * 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 - - * 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 - - * 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 - - * backends/file/e-book-backend-file.c: - Clean up dispose() and split part of it into finalise() (#421683). - -2007-03-16 Matthew Barnes - - ** 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 - - * libebook/Makefile.am: - Fix distcheck (#400629) - -2006-12-11 Ross Burton - - * libebook/e-contact.c: - Remove an unused function that was missing from the previous - patch. - -2006-12-11 Ross Burton - - * libebook/e-contact.c: - Don't use weak references to clean up the cache (#363445). - -2006-12-01 Srinivasa Ragavan - - * 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 - - * 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 - - * libebook/e-book.c: (e_book_get_self): Fix memory leak (#365000). - -2006-09-29 Devashish Sharma - - * backends/ldap/e-book-backend-ldap.c : - Fix for Bug #352872. - -2006-09-29 Devashish Sharma - - * backends/ldap/e-book-backend-ldap.c : - Code cleanups and fixes for some crashers in ldap addressbook. - -2006-09-29 Ross Burton - - * 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 - - * 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) - - * libebook/e-contact.c: Fix a build breaker. - -2006-08-07 Ross Burton - - * 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 - - * 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 - - * addressbook/libebook/e-book.c: - (e_book_new_from_uri) :set relative uri to NULL. - -2006-07-31 Devashish Sharma - - * backends/file/e-book-backend-file.c :Fix for Bug #347495. - -2006-07-28 Devashish Sharma - - * libedata-book/e-data-book-view.c : - Fix for a crash in addressbook while loading. - -2006-07-28 Devashish Sharma - - * 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 - - * libebook/Makefile.am: Distribute e-name-western-tables.h.in - and the python script to generate the header. - -2006-07-24 Devashish Sharma - - * libebook/e-contact.[ch] : Added support for Gadu Gadu IM - in contact entry. - -2006-07-24 Ross Burton - - * 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 - - * 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 - - * libebook/e-vcard.[ch]: - Add e_vcard_attribute_remove_value and - e_vcard_attribute_remove_param_value() (#347899). - -2006-07-18 Ross Burton - - * 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 - - * backends/ldap/e-book-backend-ldap.c: - Finish up fixing for new API (#313533). - -2006-07-17 Sushma Rai - - 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 - - * 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 - - * libebook/e-vcard.[ch]: - Add e_vcard_get_param() (#347752) - -2006-07-14 Devashish Sharma - - * libedata-book/e-book-backend-summary.c : Fixed a crasher in - e_book_backend_summary_load. - -2006-07-14 Devashish Sharma - - * backends/groupwise/e-book-backend-groupwise.c : Fixed a crasher in - groupwise backend. - -2006-07-07 Ross Burton - - * 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 - - * backends/file/e-book-backend-file.c: - Allow builds against system libdb 4.3 or greater to work (#346655). - -2006-07-05 Ross Burton - - * 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 - - * libebook/e-contact.c : Added translator comment for - TTY. - Fixes Bug #342167 - -2006-06-16 Tor Lillqvist - - 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 - - * libebook/e-book.c: - changing "cancelled" to "canceled" in user-visible strings. - Fixes bug #342163. - -2006-06-15 Andre Klapper - - * 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 - - * libebook/e-book.c: - changing "couldn't", "can't" and "didn't" to proper - English. Fixes bug #342160. - -2006-06-13 Ross Burton - - * libebook/e-vcard.[ch]: - Add e_vcard_get_attribute() (#334411) - -2006-06-12 simon.zheng - - 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 - - * addressbook/libebook/e-book.c : Fix for bug #342162. - -2006-06-07 Devashish Sharma - - * 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 - - * 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 - - * libebook/e-book-view.c: - * libebook/e-book.c: - * libebook/e-vcard.c: - Add more API documentation (#342678) - -2006-05-15 Harish Krishnaswamy - - * 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 - - * 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 - -2006-05-04 Ross Burton - - * libedata-book/e-book-backend-sexp.c: - Fix memory leak in and optimize the performance of compare_im - (#340036). - -2006-04-21 Devashish Sharma - - 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 - -2006-04-18 Ross Burton - - * libebook/e-address-western.c: - Protect against possible NULL dereference (#338880). - -2006-04-06 Devashish Sharma - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * libebook/e-book-query.c - * libebook/e-vcard.c: - Fix GList leaks (#320065). - -2006-01-10 Simon Zheng - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * backends/ldap/e-book-backend-ldap.c: (poll_ldap): - Allow environment override of the LDAP result timeout. - -2005-11-29 Sushma Rai - - * 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 - - * 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 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 - - * libebook/e-destination.c: - Add casts to stop newer gcc moaning about libxml (#319612). - -2005-10-20 Sushma Rai - - * 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 - - * libedata-book/e-book-backend-summary.c: - Fix writing race to avoid recalculating the index (#316955). - -2005-10-14 Ross Burton - - * libebook/e-destination.c: - Fix typo when writing escaped names. - -2005-10-04 Sushma Rai - - * 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 - - * libebook/e-contact.c (e_contact_date_from_string): Use strchr() - instead of index(). - -2005-09-19 Jürg Billeter - - * 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 - - * 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 - - * 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 - - * libedata-book/e-book-backend.c: - Unref the ESource on dispose. - -2005-08-16 Ross Burton - - * libedata-book/e-book-backend-summary.c: - Mark the summary clean when saved. - -2005-08-16 Ross Burton - - * libebook/e-contact.c: - Fix a leak when returning boxed types. - -2005-08-13 Sushma Rai - - * 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 - - * 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 - - * libedata-book/e-book-backend-cache.c - (e_book_backend_cache_get_contacts): Fixed memory leak. - -2005-08-10 Ross Burton - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * libebook/e-book.c: Handling gcc specific "__PRETTY_FUNCTION__" macro - for other compilers. Patch by - "The Written Word " for #271837 - -2005-07-25 Sushma Rai - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * libebook/e-book-listener.c: - Free the private data. - -2005-07-06 Sushma Rai - - * libedata-book/e-book-backend-cache.c - (e_book_backend_cache_is_populated): Returning FALSE on error. - -2005-07-06 Sushma Rai - - * 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 - - * 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 - - * 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 - - * 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 - - * libebook/e-contact.c (e_contact_set_property): Setting TYPE=OTHER - default parameter to email attribute. Fixes #240756 - -2005-06-22 Tor Lillqvist - - * 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 . 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 . 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 - . Use g_ntoh*() and g_hton*(). - -2005-06-16 Sushma Rai - - * 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 - - * 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 - - * 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 - - * 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 - - Commiting for Daniel van Eeden - * libebook/e-contact.c: fixes naming consistency for - GroupWise. - Fixes bug #271901 - -2005-05-20 Ross Burton - - * backends/file/e-book-backend-file.c: - Fix a large memory leak (the cursor was not being freed). - -2005-05-14 Hans Petter Jansson - - * 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 - - * libedata-book/e-book-backend-sexp.c (compare_name): Considering - nickname also in full name query. Fixes #255756 - -2005-05-09 Sushma Rai - - * 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 - - * backends/groupwise/e-book-backend-groupwise.c: Added E_CONTACT_REV - field. - -2005-05-09 Sushma Rai - - * libedata-book/e-book-backend-cache.c - (e_book_backend_cache_constructor): Freeing cache file name. - -2005-05-06 Sushma Rai - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * libebook/Makefile.am, libedata-book/Makefile.am: - use API_VERSION - -2005-03-15 JP Rosevear - - 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 - - * 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 - - * 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 - - 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 - - ** See bug #72878 - - * libebook/e-destination.c (e_destination_copy): copy the raw - address. - -2005-02-28 Sivaiah Nallagatla - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * backends/vcf/Makefile.am: - * backends/ldap/Makefile.am: - * backends/groupwise/Makefile.am: - * backends/file/Makefile.am: - Build as modules. - -2005-01-30 Sivaiah Nallagatla - - * 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 - - * 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 - - * backends/groupwise/e-book-backend-groupwise.c - (e_book_backend_groupwise_load_source) : Change the default - port to 7191 - -2005-01-28 Sivaiah Nallagatla - - * 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 - - * 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 - - * 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 - - * libebook/e-contact.c (e_contact_pretty_name): - Replace the textdomain call with bind_textdomain_codeset - - Fixes #71116 - -2005-01-24 Hans Petter Jansson - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - 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 - - 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 - - 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 - - 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 - - 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 - - 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 - - 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 - - * 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 - - * 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 - - * 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 - - * libebook/e-destination.c: Remove antiquated comments. - -2004-12-08 Hans Petter Jansson - - * 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 - - * libebook/e-book-contact.c: #include - (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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - From Anders Carlsson - - * 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 - - * libedata-book/e-book-backend-sexp.c (compare_im_groupwise): Make - GroupWise IM names searchable. - -2004-10-14 Rodney Dawes - - * backends/*/Makefile.am: Add -avoid-version to LDFLAGS for all - of the backends - -2004-10-13 Sivaiah Nallagatla - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - Fixes #66574. - - * libebook/e-book.c (e_book_get_self): open the book before - getting the contact. - -2004-09-23 JP Rosevear - - * 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 - - * 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 - - * 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 - - * backends/ldap/e-book-backend-ldap.c: Revert the LDAP attribute names - changed by Sivaiah's last commit. - -2004-09-09 Hans Petter Jansson - - 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 - - * 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 - - * 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 - - * tests/ebook/test-photo.c: - Add missing prototype. - -2004-08-23 Sivaiah Nallagatla - - * 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 - - * backends/ldap/e-book-backend-ldap.c - (e_book_backend_ldap_dispose): free bl->priv->schema_dn. - -2004-08-20 Sivaiah Nallagatla - - * 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 - - [ 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * backends/ldap/e-book-backend-ldap.c - (e_book_backend_ldap_get_static_capabilities) : add "anon-access" - static capability - -2004-08-09 Chris Toshok - - * tests/vcard/README (Test): add note about 11.vcf. - -2004-08-03 Chris Toshok - - [ fixes #61719 ] - * libebook/e-vcard.c (read_attribute_params): fix the one - remaining g_assert_not_reached case. - -2004-08-03 Chris Toshok - - * tests/vcard/Makefile.am (EXTRA_DIST): add 11.vcf. - - * tests/vcard/11.vcf: new test, for missing attribute parameters. - -2004-07-23 Sivaiah Nallagatla - - * 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 - - 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 - - * 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 - - [ 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 - - * 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 - - * 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 - - [ 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 - - [ 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 - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - [ 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 - - * libebook/e-book.c (e_book_new_system_addressbook): "oops". - -2004-06-18 Chris Toshok - - [ 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 - - * 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 - - * 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 - - * 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 - - [ 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 - - * 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 - - [ 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * libebook/e-book-query.c (e_book_query_to_string): encode the - values we place in the sexp. - -2004-05-20 Chris Toshok - - [ 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 - - * 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 - - * 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 - - [ 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 - - * 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 - - * 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 - - [ 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * backends/file/e-book-backend-file.c - (e_book_backend_file_changes_foreach_key): Revert yesterday's - changes. - -2004-04-26 Jeffrey Stedfast - - * 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 - - * 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 - - * backends/groupwise/e-book-backend-groupwise.c - (populate_contact_members) : set the emails using EVC_X_DEST_EMAIL - parameter - -2004-04-21 Chris Toshok - - * 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 - - * 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 - * 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 - - * 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 - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - [ 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * backends/groupwise/e-book-backend-groupwise.c (func_is) : - Correct a small type in field name FullName -> fullName - -2004-04-06 Chris Toshok - - * 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 - - * 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 - - * 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 - - * 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 - - * backends/groupwise/Makefile.am: fix includes for builddir != srcdir - -2004-03-31 Chris Toshok - - * 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 - - [ 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 - - [ 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 - - [ 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 - - [ 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - * backends/groupwise/e-book-backend-groupwise.c : - Update calls to e_gw_connection_get_items with the new prototype. - -2004-03-12 Chris Toshok - - * 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 - - * 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 - - * tests/ebook/test-categories.c (main): test setting CATEGORIES as - well as CATEGORY_LIST. - -2004-03-09 Sivaioah Nallagatla - - * 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 - - * libebook/e-book-query.h (EBookQueryTest): comment out the - unsupported query types. - -2004-02-26 Chris Toshok - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - [ 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 - - * backends/groupwise/create-account.c : new file to create an acoount - -2004-02-20 Sivaiah Nallagatla - - * 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 - - * 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 - - * 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 - - * libebook/e-book-listener.c (e_book_listener_new): fix typo. - -2004-02-11 Chris Toshok - - * 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 - - * libedata-book/e-data-book.c (view_destroy): tolerate NULL - book views. - -2004-02-08 Chris Toshok - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - [ 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 - - * 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 - - * 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 - - [ 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - [ 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 for strlen and - memcmp. - (main): Don't let control reach the end of a non-void function - -2004-01-09 Ross Burton - - * 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 - - * libebook/e-contact.c: - * libebook/e-contact.h: - Add a video conferencing URL field. - -2004-01-07 JP Rosevear - - * libedata-book/Makefile.am: remove DISABLE_DEPRECATED flags - - * libebook/Makefile.am: ditto - -2004-01-06 Chris Toshok - - * 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 - - * libebook/e-book.c: Generalize some strings. - -2003-12-29 Chris Toshok - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * backends/ldap/e-book-backend-ldap.c - (e_book_backend_ldap_load_source): Get attributes from source, not URI. - -2003-12-09 Chris Toshok - - * 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 - - * 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 - - * libebook/e-book.c (activate_factories_for_uri): use the - versioned repo id - -2003-12-05 Chris Toshok - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * libebook/Makefile.am: don't add libename - -2003-11-06 JP Rosevear - - * libebook/e-book.c: replace e_mutex stuff with gthread stuff - -2003-11-06 JP Rosevear - - * 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 - - * rename libedatabook to libedata-book - -2003-11-05 JP Rosevear - - * 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 - - * 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 - - * libedatabook/e-data-book-factory.c: use properly name spaced - default id - - * libebook/e-book.c: kill unneccesary define - -2003-11-04 JP Rosevear - - * 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 index 5147b8c..0000000 --- a/calendar/ChangeLog +++ /dev/null @@ -1,7249 +0,0 @@ -2009-04-28 Milan Crha - - ** 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 - - ** 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 - - ** 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 - - ** Part of fix for bug #478692 - - * backends/caldav/create-account.c: Removed unused file. - -2009-04-13 Matthew Barnes - - * libedata-cal/e-cal-backend-sync.c: - Fix build break: #include - -2009-04-13 Chenthill Palanisamy - - 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 - - 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 - - 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 - - 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** Fix for bug #573187 - - * backends/caldav/e-cal-backend-caldav.c: (synchronize_cache): - Do not leak unchanged components. - -2009-03-23 Milan Crha - - ** 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 - - 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 - - ** 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 - - ** 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 - - ** Fixes part of bug #572950 - - * backends/caldav/Makefile.am: - Fix ordering of -I compiler directives. Patch by Daniel Macks. - -2009-02-18 Milan Crha - - ** 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 - - * 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 - - ** 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 - - ** 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 . 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 - - ** 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 - - 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 - - Fixes #569459. - Patch from Michael Monreal - * 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 - - * libedata-cal/e-cal-backend.c: - * libedata-cal/e-cal-backend.h: - Use G_DEFINE_TYPE. - -2009-01-29 Ross Burton - - * libedata-cal/e-cal-backend.c: - Use GObject private data instead of g_new(). - -2009-01-29 Ross Burton - - * 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - * backends/Makefile.am: - * backends/weather/Makefile.am: - Weather backend is now built optionally. - -2008-12-08 Milan Crha - - ** 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 - - ** Fix for bug #451734 - - * backends/weather/Locations.xml.in: Correctly set Blythe, CA URL - -2008-12-03 Milan Crha - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - -License Changes - - * backends/caldav/e-cal-backend-caldav.h: - -2008-11-03 Sankar P - -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 - - * backends/caldav/create-account.c: - Only include toplevel GLib headers. - -2008-10-15 Suman Manjunath - - * 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 - - * libecal/libecal.pc.in: - * libedata-cal/libedata-cal.pc.in: - Remove libgnome-2.0 as it isn't used. - -2008-09-23 Milan Crha - - ** 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 - - ** 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 - - * libedata-cal/Makefile.am: Committing a build fix. - -2008-09-12 Rob Bradford - - * 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 - - * libecal/e-cal-check-timezones.c (e_cal_check_timezones): - Don't mix declarations and code. - -2008-09-11 Milan Crha - - ** 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 - - * libedata-cal/e-cal-backend-util.c: - Add translator comment for "Offline unavailable" - -2008-09-04 Chenthill Palanisamy - - * 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 - - ** 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 - - * backends/groupwise/e-cal-backend-groupwise-utils.c - (start_freebusy_session): Fix a compiler warning. - -2008-08-18 Milan Crha - - ** 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 - - * backends/groupwise/e-cal-backend-groupwise.c (populate_cache): - Don't reset last notified percent value in each iteration. - -2008-08-15 Matthew Barnes - - * backends/groupwise/e-cal-backend-groupwise.c (populate_cache): - Fix a call to a non-existent ECalBackend function name. - -2008-08-15 Stanislav Slusny - - * 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - * 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 - - ** 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 - - * 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 - - ** Fixes #527544. - - * backends/google/e-cal-backend-google.c: Added proxy support. - -2008-05-29 Chenthill Palanisamy - - ** 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 - - ** 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 - - ** Fix for bug #533780 - - * libedata-cal/Makefile.am: Link against libebackend. - -2008-05-13 Matthew Barnes - - * libedata-cal/libedata-cal.pc.in: Require libebackend-1.2. - -2008-05-09 Chenthill Palanisamy - - ** 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 - - ** 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 - - ** 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 - - ** Fixes #358584 (bnc) - Display of web calendars ignores timezones - - * backends/http/e-cal-backend-http.c: (retrieval_done): - -2008-04-29 Chenthill Palanisamy - - ** Fixes #358650 (bnc) - International clock applet is crashing - - * backends/groupwise/e-cal-backend-groupwise.c: (populate_cache): - -2008-04-23 Rob Bradford - - * 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 - - ** 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 - - * calendar/tests/ecal/test-ecal.c: Remote g_asserts. - -2008-04-28 Sebastien Bacher - - * backends/contacts/e-cal-backend-contacts.c: (book_record_new): - - don't free the same variable twice (#530323) - -2008-04-17 Milan Crha - - ** 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 - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** Fixes part of bug #510949 - - * backends/groupwise/e-cal-backend-groupwise-utils.c: - Memory leak fixes. - -2008-02-20 Chenthill Palanisamy - - 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 - - * 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 - - * 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 - - * 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 - - 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 - - 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 - - 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 - - ** 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 - - ** 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 - - 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 - - ** 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 - - ** 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 - - 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 - - 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 - - ** Fix for bug #475781 - - * libecal/e-cal.c: (process_detached_instances): - Fix memory leaks around ECalComponentDateTime. - -2008-01-28 Chenthill Palanisamy - - ** Fixes bug #335217 - - * libecal/e-cal.c: (open_async): Removed ccad->result as - its not required. - -2008-01-25 Milan Crha - - ** 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 - - ** 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 - - ** 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 - - * 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 - - Reverting the fix for bug #503574. - -2008-01-04 Ondrej Jirman - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - * backends/contacts/e-cal-backend-contacts.c: - Fix leak (#494304, Ondrej Jirman) - -2007-11-05 Milan Crha - - * 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 - - * 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 - -2007-10-11 Milan Crha - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - 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 - - * backends/file/e-cal-backend-file-todo.c: - Add missing config.h include (part of #271841). - -2007-08-28 Ross Burton - - * */*: - Fix FSF address (Tobias Mueller, #470445) - -2007-08-23 Christian Kellner - - * 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 - - * 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 - - * 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 - - * 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 - - ** 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 - - * 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 - - * libecal/e-cal.c: - Use EFlag to simplify synchronization logic (#415891). - -2007-07-31 Chenthill Palanisamy - - * 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 - - Fixes a memory corruption. - * libecal/e-cal.c: (open_calendar): Use e_source_get_duped_property. - -2007-07-13 Milan Crha - - ** 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 - - ** 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 - - ** Fix for bug #460867 - - * libecal/e-cal-component.c: (get_attachment_list): - -2007-07-09 Srinivasa Ragavan - - ** 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 - - ** 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 - - * 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 and - Abhishek Parwal . - -2007-06-03 Srinivasa Ragavan - - ** Fix for bug #442187 from John Stowers - - * libecal/e-cal.c: (get_default): - -2007-05-31 Matthew Barnes - - * libecal/Makefile.am: - Fix some distcheck errors (#438577). - -2007-05-24 Ross Burton - - * backends/caldav/Makefile.am: - Add missing link flags to fix build with -z,defs. (#409542, Loic - Minier) - -2007-05-22 Ross Burton - - * 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 - - * 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 - - * tests/ecal/test-ecal.c: - * tests/ecal/test-search.c: - * tests/ecal/test-recur.c: - Remove useless Bonobo usage. - -2007-05-13 Rob Bradford - - * 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 - - * 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 - - * backends/file/e-cal-backend-file.c: - Use g_mkdir_with_parents (#383686). - -2007-04-04 Ross Burton - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - ** 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 - - ** 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 - - * 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 - - * 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 - - 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 - - reviewed by: - - * 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 - - reviewed by: - - * 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 - - 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 - - * 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 - - * backends/groupwise/e-cal-backend-groupwise.c: - (sanitize_component): Fix leak of str. - -2006-12-03 Harish Krishnaswamy - - * libedata-cal/e-cal-backend.c: (e_cal_backend_finalize): - Fix leak of uri and source. - -2006-12-03 Harish Krishnaswamy - - * 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 - - * libecal/e-cal-listener.c: (convert_status): Map the - error status for 'No Such Calendar'. - -2006-11-08 Sankar P - - * 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 - - * 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 - - * libecal/e-cal.c: (open_calendar): Remove an - erroneous double mutex unlock. Fixes #312348 - and its numerous duplicates. - -2006-09-25 Matthew Barnes - - 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 - - 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 - - * backends/http/e-cal-backend-http.c: - (begin_retrieval_cb): Check the right e-source property. - - Committing the patch from Mikael Nilsson . - -2006-09-06 Chenthill Palanisamy - - 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 - - Fixes the gslice crash - * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas): - Do not free the cache_keys. - -2006-08-24 Chenthill Palanisamy - - * 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 - - ** Fix for bug #349847 by Matthew Barnes - - * tests/ecal/test-ecal.c: (test_get_object): Initialize gerror to - NULL. - -2006-08-22 Chenthill Palanisamy - - * 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 - - Fixes #350887 - * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas): - replaced gslist_delete_link with remove link. - -2006-08-19 Chenthill Palanisamy - - 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 - - * backends/groupwise/e-cal-backend-groupwise-utils.c: - (set_default_alarms): Unref GConf client on all exit - paths. - -2006-08-17 Kjartan Maraas - - * libedata-cal/e-cal-backend-sync.c: - (_e_cal_backend_remove_object): Remove an unused variable. - -2006-08-11 Chenthill Palanisamy - - * 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 - - * 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 - - Fixes #310489 - * libecal/e-cal.c: (open_calendar): get the uri from - ecal object. - -2006-07-31 Chenthill Palanisamy - - Fixes #345646 - * gui/dialogs/recurrence-page.c: - (recurrence_page_finalize): Diconnect the signal handler - while destroying the page. - -2006-07-29 Chenthill Palanisamy - - 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 - - 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 - - * backends/groupwise/e-cal-backend-groupwise-utils.c: - (set_default_alarms): Refactor code to cut down - comparisons. - -2006-07-22 Chenthill Palanisamy - - 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 - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * backends/groupwise/e-cal-backend-groupwise.c: (populate_cache): - reset 'done' flag for each iteration of cursor reads. - -2006-06-16 Tor Lillqvist - - * backends/groupwise/e-cal-backend-groupwise.c: Add gmtime_r() - macro implementation for Win32. - -2006-06-15 Andre Klapper - - * libecal/e-cal.c: - * libecal/e-cal.c: - changing "cancelled" to "canceled" in user-visible strings. - Fixes bug #342163. - -2006-06-15 Harish Krishnaswamy - - * 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 - - 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 - - * 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 - - Fixes #335069 - * backends/caldav/e-cal-backend-caldav.c: - (caldav_remove): Return success if the cache - is not loaded. - -2006-06-12 Harish Krishnaswamy - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * libecal/e-cal-time-util.c: #define gmtime_r on Win32. - -2006-04-06 Chenthill Palanisamy - - 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 - - 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 - - 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 - - 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 - - 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 - - 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 - - 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 - - Fixes #334000 - * libedata-cal/e-cal-backend.c: - (e_cal_backend_notify_object_removed): Check if - the query matches. - -2006-03-04 Chenthill Palanisamy - - 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 - - * 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 - - 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 - - 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 - - * backends/caldav/Makefile.am: Add soup_flags to la. - -2006-02-14 Chenthill Palanisamy - - 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 - - Fixes #329866 - * libecal/e-cal.c: (process_detached_instances): Check if we have - valid recurrence id before comparing. - -2006-02-12 Chenthill Palanisamy - - 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 - - * backends/contacts/e-cal-backend-contacts.c: (contact_record_free) - Corrected id. Fixes #326428 - -2006-02-09 Harish Krishnaswamy - - * 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 - - ** Fixes #327427 - * libedata-cal/e-data-cal-factory.c: (impl_CalFactory_getCal): Do - not ref a NULL object. - -2006-01-23 Chenthill Palanisamy - - Fixes #305656 - * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas): - Remove the deleted items from the server. - -2006-01-23 Harish Krishnaswamy - - * 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 - - * 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 - - 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 - - * backends/caldav/Makefile.am: make distcheck - fixes. - -2006-01-16 Harish Krishnaswamy - - * backends/Makefile.am : Add caldav subdir. - -2006-01-16 Harish Krishnaswamy - - * 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 - - 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 - - * 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 - - * 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 - - - 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 - - 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 - - * 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 - - * 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 - - 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 - - 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 - - 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 - - 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 - - * libecal/Makefile.am (INCLUDES): Drop unused EVOLUTION_LOCALEDIR. - -2005-12-11 Tor Lillqvist - - * 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 - - * 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 - - * 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 - - 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 - - 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 - - Reworked the patch from Matthew Daniel - - Fixes #318130 - * backends/http/e-cal-backend-http.c: Include - the file e-cal-time-util.h - -2005-10-26 Chenthill Palanisamy - - * 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 - - 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 - - Committing for Nathan Owens - - * 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 - - 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 - - * 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 - - 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 - - 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 - - * 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 - - 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 - - Fixes #309679 - * backends/groupwise/e-cal-backend-groupwise-utils.c: - (e_gw_item_to_cal_component): Check accept_level - -2005-09-27 Sarfraaz Ahmed - - * 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 - - 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 - - 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 - - * 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 - - 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 - - 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 - - * 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 - - 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 - - * 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 - - 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 - and modified by and - . - -2005-08-17 Carsten Guenther - - 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 - - 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 - - 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 - - Fixes #311078 - * backends/groupwise/e-cal-backend-groupwise.c: - (populate_cache): percent is not allowed to go beyond 100 - -2005-08-11 Tor Lillqvist - - * 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 - , 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 - - 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 - - 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 - - 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 - - * 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 - - 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 - - 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 - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - -2005-07-11 Chenthill Palanisamy - - * 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 - - * 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 - - * 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 - - * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas): - Fix compiler warnings. - -2005-07-08 Chenthill Palanisamy - - * 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 - - * 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 - - * 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 - - * 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 - - * backends/groupwise/e-cal-backend-groupwise.[ch]: - Removed the function for getting container_id. - -2005-07-02 Harish Krishnaswamy - - Fixes #309079 - * libecal/e-cal.c: (e_cal_create_object): Fix - memory leak - -2005-06-23 Chenthill Palanisamy - - * backends/http/Makefile.am: Removed unnecessary - linking to file backend. - -2005-06-22 Chenthill Palanisamy - - * backends/groupwise/Makefile.am: Removed unnecessary - linking to file backend. - -2005-06-21 Chenthill Palanisamy - - * 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 - - * 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 - - * 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 - - * backends/contacts/e-cal-backend-contacts.c: - Fix various memory leaks. - -2005-05-18 Rodrigo Moya - - * 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 - - * 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 - - 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 - - * backends/contacts/e-cal-backend-contacts.c: Fix #256874 - -2005-05-12 Vivek Jain - - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - Fixes #300920 - - * libecal/libecal.pc.in: - * libedata-cal/libedata-cal.pc.in: fixed Name: and Description: - fields. - -2005-05-04 Rodrigo Moya - - * libecal/e-cal-component.c: - * libecal/e-cal-listener.c: - * libecal/e-cal-recur.[ch]: improved API documentation. - -2005-04-19 Philip Van Hoof - - * libecal/e-cal.c: Function prototype (compiler fix) - -2005-04-18 Chenthill Palanisamy - - 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 - - * 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 - - * libecal/e-cal-util.h: added new function's prototype. - -2005-04-08 Rodrigo Moya - - 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 - - * 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 - - * 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 - - * libecal/e-cal.c (set_local_attachment_store): - Add support for scalix provider. Also plug a - small mem leak. - Patch from Carsten Guenther - -2005-03-24 Chenthill Palanisamy - - 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 - - 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 - - * 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 - - * 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 - - 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 - - * libecal/e-cal.c : Set the local_attachment_store for exchange - -2005-03-08 Chenthill Palanisamy - - 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 - - Fixes #72454 - - * backends/http/e-cal-backend-http.c (begin_retrieval_cb): call - g_object_set with correct arguments. - -2005-02-28 Chenthill Palanisamy - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - 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 - - Fixes #72107 - * backends/groupwise/e-cal-backend-groupwise.c: - (e_cal_backend_groupwise_open): insert a g_mutex_unlock. - -2005-02-10 Chenthill Palanisamy - - 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 - - * libecal/e-cal.c (open_calendar): use e_return_error_if_fail instead - of g_return_val_if_fail. - -2005-02-08 Rodrigo Moya - - * 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 - - * 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 - - * 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 - - * 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 - - * backends/weather/e-cal-backend-weather.c (getCategory): don't - translate the empty string - -2005-02-07 Chenthill Palanisamy - - * 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 - - * 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 - - * tests/ecal/test-recur.c: removed libgnome usage. - (main): use arguments correctly. - -2005-02-04 Rodrigo Moya - - * 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 - - * tests/ecal/test-search.c: - Remove useless libgnome usage. - -2005-02-03 Chenthill Palanisamy - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - 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 - - * 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 - - * calendar/backends/groupwise/e-cal-backend-groupwise.c - (from_uri) : Change the default port to 7191 - -2005-01-28 Rodrigo Moya - - * 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 - - 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 - - * 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 - - * 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 - - * libecal/e-cal.c (e_cal_send_objects): fix leak in the error case - -2005-01-25 Rodrigo Moya - - * backends/file/e-cal-backend-file.c (save_file_when_idle): - uninstall idle handler when successfully saving the file. - -2005-01-24 Harish Krishnaswamy - - * 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 - - * 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 - - * backends/file/e-cal-backend-file.c (cancel_received_object): deal - with instances. - -2005-01-19 Rodrigo Moya - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * backends/file/e-cal-backend-file.c: use guint for idle id. - -2005-01-17 Rodrigo Moya - - 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 - - * 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 - - 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 - - * backends/http/e-cal-backend-http.c (retrieval_done): warning fix - cast. - -2005-01-12 David Trowbridge - - * 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 - - * 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 - - * 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 - - * backends/groupwise/e-cal-backends-groupwise-utils.h: - Missed to commit this file before. - -2005-01-10 David Trowbridge - - * backends/weather/e-cal-backend-weather.c: add the city name to the - summary field - -2005-01-10 Harish Krishnaswamy - - - * 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 - - * backends/weather/e-cal-backend-weather.c (create_weather): make - sure we don't free a static string - -2005-01-08 Harish Krishnaswamy - - * 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 - - * backends/weather/*: Import weather calendar backend - -2005-01-06 Chenthill Palanisamy - - * 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 - - * 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 - - * 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 - - 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 - - Part of merge from offline branch - - * idl/Evolution-DataServer-Calendar.idl : added - new error code OfflineUnavailable - -2004-12-22 Sivaiah Nallagatla - - 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 - - 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 - - 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 - - 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 - - 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 - - * 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 - - * 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 - - * 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 - - Fixes #70127 - - * backends/http/e-cal-backend-http.c (begin_retrieval_cb): add - user agent header - -2004-12-15 Rodrigo Moya - - 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 - - * 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 - - * 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 - - 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 - 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 - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - * backends/groupwise/e-cal-backend-groupwise.c: - Set the CACHE_REFRESH_INTERVAL to 10 mins. - -2004-10-28 Rodrigo Moya - - * 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 - - 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 - - * backends/*/Makefile.am: Add -avoid-version to LDFLAGS for all - of the backends - -2004-10-14 Harish Krishnaswamy - - * 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 - - 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 - - * libecal/e-cal.c (e_cal_new_system_tasks): load the correct type - of events - -2004-10-06 JP Rosevear - - Fixes #67513 - - * libecal/e-cal.c (cal_objects_sent_cb): deep copy the user list - data - -2004-10-04 Chenthill Palanisamy - - 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 - - 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 - - * 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 - - 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 - - Fixes #66383, From David Malcolm - - * 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 - - Fixes #64955, Vincent Noel - - * libecal/e-cal.c (e_cal_get_alarms_in_range): fix c99-ism - -2004-09-23 Rodrigo Moya - - 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 - - * 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 - - * 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 - - * 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 - - 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 - - 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 - - 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 - - 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 - - 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 - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * libecal/e-cal.c: (e_cal_set_default_timezone): - Need a return value. - -2004-08-25 Chenthill Palanisamy - - * 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 - - * 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 - - * 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 - - 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 - - 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 - - * 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 - - * backends/groupwise/e-cal-backend-groupwise.c - (connect_to_server): Clear the cache before populating - it. - -2004-08-16 Chenthill Palanisamy - - * 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 - - 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 - - * 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 - - * 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 - - * libecal/e-cal.c (e_cal_remove_object, e_cal_receive_objects): - added missing gtk-doc comments. - -2004-08-09 Jeffrey Stedfast - - 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 - - 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 - - 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 - - * 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 - - ** 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 - - 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 - - Fixes #59335 - - * libecal/e-cal.c: (open_calendar): Set the status correctly - on all exit points from the function. - -2004-07-28 Chenthill Palanisamy - - 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 - - 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 - - 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 - - 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 - - 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 - - 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 - - * 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 - - * 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 - - 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 - - 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 - - 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 - - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * libecal/*: revert accidental commit - -2004-05-28 JP Rosevear - - 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 - - * libedata-cal/e-data-cal-factory.c (backend_last_client_gone_cb): - disconnect from signals on the removed backend. - -2004-05-28 Harish Krishnaswamy - - - * 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 - - * 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 - - 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 - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * backends/contacts/e-cal-backend-contacts.c (book_record_new): - use new e_book_new/e_book_open apis. - -2004-05-19 Rodrigo Moya - - 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 - - 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 - - * 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 - - * 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 - - 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 - - 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 - - * 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 - - 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 - - * 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 - - - * 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 - - 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 - - * 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 - - * 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 - - * libecal/e-cal-time-util.h: Add missing G_BEGIN_DECLS and G_END_DECLS - -2004-05-04 Harish Krishnaswamy - - 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 - - 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 - - * 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 - - * 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 - - 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 - - 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 - - * 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 - - * 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 - - * 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 - - 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 - - * libecal/e-cal.c (e_cal_add_timezone): do a little more sanity - checking on what we send - -2004-04-12 Sarfraaz Ahmed - - 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 - - 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 - - * 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 - - 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 - - * 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 - - 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 - - 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 - - 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 - - * 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 - - 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 - - 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 - - * 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 - - * 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 - - * libecal/e-cal.h: add proto - - * libecal/e-cal.c (e_cal_get_source_type): accessor - -2004-03-26 Rodrigo Moya - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * backends/groupwise/e-cal-backend-groupwise-utils.c - (start_freebusy_session): don't use the "types:" prefix for the - SOAP element. - -2004-03-19 Rodrigo Moya - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * backends/groupwise/e-cal-backend-groupwise-utils.c - (start_freebusy_session): remove xml prefixes - -2004-03-18 JP Rosevear - - * backends/groupwise/e-cal-backend-groupwise-utils.c - (start_freebusy_session): list the the addresses in the - attribute - -2004-03-18 JP Rosevear - - * libecal/e-cal.c: add e_return_error macro to fail more - gracefully as per ebook - -2004-03-18 Rodrigo Moya - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - 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 - - Fixes #54280 - - * backends/groupwise/e-cal-backend-groupwise.c - (e_cal_backend_groupwise_send_objects): added missing implementation. - -2004-03-05 Harish K - - * 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 - - 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 - - * 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 - - * tests/ecal/test-ecal.c: make EXPECTED a macro so it compiles - -2004-02-26 Harish K - - * 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 - - * 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 - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * backends/groupwise/e-gw-connection.c (parse_response_status): - "Status" is now "status". - -2004-02-04 JP Rosevear - - * 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 - - * 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 - - * 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 - - * libecal/e-cal.c (open_async): g_object_unref the ECal, not the - ECalAsyncData structure. - -2004-02-03 Rodney Dawes - - * 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 - - * 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 - - * 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 - - * 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 - - * backends/groupwise/e-gw-connection.[ch] (parse_response_status): - added new error code. - -2004-02-02 Rodrigo Moya - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * backends/groupwise/e-gw-item.c (e_gw_item_append_to_soap_message): - write all properties to the message. - -2004-01-29 Rodrigo Moya - - * 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 - - * backends/groupwise/e-gw-item.c: added missing header. - -2004-01-28 Rodrigo Moya - - Fixes #53465 - - * libecal/e-cal.c (e_cal_get_error_message): fixed typo. - -2004-01-28 Rodrigo Moya - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * backends/groupwise/e-gw-connection.c - (get_e_cal_component_from_soap_parameter): description is not - const - -2004-01-27 Rodrigo Moya - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * backends/file/e-cal-backend-file.c (e_cal_backend_file_remove): - use the full path when removing files. - -2004-01-21 JP Rosevear - - * libecal/Makefile.am: don't build client test - -2004-01-21 JP Rosevear - - * 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 - - * 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 - - * 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 - - * backends/groupwise/e-cal-backend-groupwise.c - (e_cal_backend_groupwise_open): added missing g_mutex_unlock - call. - -2004-01-21 Rodrigo Moya - - * 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 - - * backends/file/e-cal-backend-file.c (create_cal): create - directory tree to contain the calendar. - -2004-01-21 Rodrigo Moya - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * backends/file/e-cal-backend-file.c (save): remove test bits - -2004-01-16 JP Rosevear - - * libecal/e-cal.c (categories_changed_idle_cb): remove debug - statement - -2004-01-16 Rodrigo Moya - - * 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 - - * libecal/e-cal.c: name space the idle data structs properly - -2004-01-16 JP Rosevear - - * 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 - - * libedata-cal/e-cal-backend-sexp.c (func_uid): - Error message string fix. - -2004-01-16 Rodrigo Moya - - * 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 - - * 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 - - * libecal/e-cal-listener.c: (impl_notifyCalSetMode), - (impl_notifyErrorOccurred), (impl_notifyCategoriesChanged): - Remove debugging spew. - -2004-01-15 Radek Doulik - - * 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 - - * 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 - - * 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 - - * backends/groupwise/e-gw-connection.c - (get_e_cal_component_from_soap_parameter): remove C99 declaration - -2004-01-13 Rodrigo Moya - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * backends/http/e-cal-backend-http.c (uri_to_cache_dir): fixed leak. - -2004-01-10 Rodrigo Moya - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * libecal/e-cal.c (convert_type): removed g_assert_not_reached. - -2004-01-07 Rodrigo Moya - - * 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 - - * libedata-cal/Makefile.am: remove DISABLE_DEPRECATED flags - - * libecal/Makefile.am: ditto - -2004-01-07 Rodrigo Moya - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * libedata-cal/e-cal-backend-sexp.c: Generalize some strings. - -2003-12-24 Rodrigo Moya - - * backends/groupwise/e-gw-connection.c (e_gw_connection_get_items): - fixed warning. - -2003-12-24 Rodrigo Moya - - * backends/groupwise/e-gw-message.[ch] (e_gw_message_new_with_header): - added 'session_id' argument, to add the
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 - - * 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 - - * libedata-cal/e-cal-backend-sexp.c (func_has_alarms): removed useless - 'has_to_have_alarms' variable. - -2003-12-22 JP Rosevear - - * 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 - - * 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 - - * 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 - - * libecal/e-cal.c (e_cal_get_alarms_in_range): create a valid sexp - -2003-12-19 Rodrigo Moya - - * libecal/e-cal.[ch] (e_cal_class_init): removed 'forget_password' - signal, since it's not used anywhere. - -2003-12-19 Rodrigo Moya - - * 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 - - * 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 - - * backends/groupwise/e-gw-connection.c (e_gw_connection_init): - create a synchronous session - -2003-12-17 Hans Petter Jansson - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - - Fixes #52218 - -2003-12-16 Rodrigo Moya - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * libedata-cal/e-data-cal.c (e_data_cal_notify_free_busy): call - the correct notification method - -2003-12-13 Rodrigo Moya - - * backends/groupwise/Makefile.am: set the correct G_LOG_DOMAIN. - -2003-12-12 Rodrigo Moya - - * backends/groupwise/e-gw-message.c (e_gw_message_new_with_header): - added SOAPAction header to the request. - -2003-12-12 Rodrigo Moya - - * 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 - - * backends/groupwise/e-gw-message.c (setup_debug): fixed typo. - - * backends/groupwise/Makefile.am: use $DEBUG_CFLAGS. - -2003-12-12 Rodrigo Moya - - * 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 - - Fixes #52013 - - * backends/file/e-cal-backend-file.c (create_user_free_busy): pass - the TIME arguments correctly. - -2003-12-10 Rodrigo Moya - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * libecal/e-cal-listener.c (impl_notifyStaticCapabilities): - actually emit the capabilities string - - Fixes #51747 - -2003-12-09 Rodrigo Moya - - * 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 - - * 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 - - * libedata-cal/e-cal-backend-cache.[ch]: use EFileCache instead - of ECache. - -2003-12-08 Rodrigo Moya - - * 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 - - * 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 - - * libecal/e-cal.c (get_factories): use the versioned repo id - -2003-12-04 Rodrigo Moya - - * 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 - - * backends/groupwise/create-account.c: changed to use a main loop, - or saving to GConf seems not to work ?? - -2003-12-04 Rodrigo Moya - - * backends/groupwise/create-account.c (add_account): add the source - to the group. - -2003-12-04 Rodrigo Moya - - * backends/groupwise/create-account.c: make it use a username also. - -2003-12-04 Rodrigo Moya - - * 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 - - * libedata-cal/e-cal-backend-sexp.c: added has-recurrences sexp - function - -2003-12-03 Rodrigo Moya - - * 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 - - * libecal/e-cal.c (e_cal_generate_instances): Fix query and - get object list as components. - -2003-12-01 Rodrigo Moya - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * libecal/e-cal.h: remove dead enums - -2003-11-10 JP Rosevear - - * 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 - - * 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 - - * 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 - - * libecal/Makefile.am (libecal_la_LDFLAGS): Remove -no-undefined - - * libedata-cal/Makefile.am (libedata_cal_la_LDFLAGS): Likewise - -2003-11-06 - - * 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 - - * libecal/e-cal.c: replace e_mutex stuff with gthread stuff - -2003-11-06 JP Rosevear - - * 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 - - * rename libedatacal to libedata-cal - -2003-11-05 JP Rosvear - - * 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 - - * 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 - - * libedatacal/e-cal-backend-sexp.c: removed GAL dependency. - -2003-11-04 JP Rosevear - - * libedatacal/e-data-cal-factory.c: use properly name spaced - default id - -2003-11-04 JP Rosevear - - * 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 - - * 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 - - * 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 index fcc2e5c..0000000 --- a/camel/ChangeLog +++ /dev/null @@ -1,10217 +0,0 @@ -2009-05-07 Sergio Villar Senin - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** Fix for bug #578823 – invalid condition - - * camel-disco-diary.c (camel_disco_diary_log): fixed a wrong - condition - -2009-04-13 Johnny Jacob - - ** Committing for Srinivasa Ragavan - - ** Fixes 556116 – unmatched search folder missing in 2.24 - - * camel-vee-store.c (construct): Adds back Unmatched vfolder support. - -2009-04-07 Milan Crha - - ** 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 - - ** Fix for bug #564465 - - * camel-smime-context.c: (sm_decrypt): - Pass correct body for signature verification. - -2009-03-27 Milan Crha - - ** Fix for bug #569700 - - * camel-http-stream.c: (stream_read): - Disconnect properly on a failure. - -2009-03-12 Matthew Barnes - - * 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 - - * 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 - - * 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 - - ** 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 - - ** 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 - - * 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 - - ** 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 - - * camel-smime-context.c: (nss_error_to_string): - Check also value of the NSS_VPATCH. - -2009-02-25 Milan Crha - - * camel-smime-context.c: (nss_error_to_string): - Do compile recent error codes conditionally, and hide even more. - -2009-02-25 Milan Crha - - * camel-smime-context.c: (nss_error_to_string): - Comment too recent error codes. - -2009-02-25 Milan Crha - - ** 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 - - ** 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 - - ** 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 - - ** Fixes bug #571726 - - * camel-filter-search.c (run_command): - Fix a translatable string typo. Does not break string freeze. - -2009-02-09 Milan Crha - - ** 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 - - * camel-db.c: (camel_db_migrate_folder_prepare), (cdb_delete_ids): - Handle the error message of 'dirty' column - -2009-02-02 Matt McCutchen 2 - - ** Fix for bug #569405 - - * camel-search-sql-sexp.c (check_header): Ensure that the header is - not NULL. - -2009-01-31 Srinivasa Ragavan - - ** Fix for bug #569874 - - * camel-vee-summary.c: (vee_info_set_flags): Fix the typo. - -2009-01-31 Srinivasa Ragavan - - ** Fix for bug #569874 - - * camel-vee-summary.c: (vee_info_set_flags): Fix the typo. - -2009-01-30 Milan Crha - - ** 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 - - * camel-folder-summary.c: (camel_folder_summary_update_flag_cache): - Fix compiler warning - -2009-01-30 Srinivasa Ragavan - - * 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 - - * camel-vee-folder.c: (vee_sync), (vf_getv): Removed unused stuff from - db. - -2009-01-30 Srinivasa Ragavan - - ** 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 - - * camel-vee-folder.c: (vf_getv): Some more fix for counting. - -2009-01-30 Srinivasa Ragavan - - * 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 - - ** 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 - - * camel-db.c: (camel_db_delete_uids): Dont empty null uids. - -2009-01-29 Srinivasa Ragavan - - ** 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 - - ** Part of Fix for bug bnc #390198 - - * camel/camel-folder-summary.c: - Free the exception object which was leaking. - -2009-01-27 Simon Brys - - ** 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 - - ** 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 - - ** 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 - - * camel-folder-summary.c: (info_set_flags): Fix a compiler warning - -2009-01-13 Srinivasa Ragavan - - * camel/camel-db.c: Speed up total-count info, by counting indexed - read. - -2009-01-12 Philip Van Hoof - - * 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 - - ** 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 - - * 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 - - ** 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 - - * camel-vee-summary.c: (vee_info_set_flags): Fix for better vfolder - count - -2009-01-12 Srinivasa Ragavan - - * camel-vee-folder.c: (summary_header_to_db): Sync using counting - manually than the old approach - -2009-01-12 Srinivasa Ragavan - - * camel-folder-summary.c: (info_set_flags): Fix for better vfolder - flag syncing. - -2009-01-12 Srinivasa Ragavan - - ** 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 - - ** 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 - - * 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 - - ** 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 - - * 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 - -2008-12-22 Sankar P - - ** 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 - - * camel-folder-summary.c: - #include "camel-debug.h" - -2008-12-15 Srinivasa Ragavan - - * camel-folder.c: (get_uids): Fix some stupidity. - -2008-12-15 Srinivasa Ragavan - - ** 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 - - ** 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 - - ** 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 - - * camel-db.c: (camel_db_select): - Replace __FUNCTION__ with G_STRFUNC. - -2008-11-20 Milan Crha - - ** 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 - - ** Fix for bug #558883 - - * camel/camel-db.c: Remove the redundant transaction lock. - -2008-11-17 Matthew Barnes - - ** 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 - - ** 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 - - ** Fix for bug #560076 - - * camel/camel-search-sql-sexp.c: Handle followup better. - -2008-11-19 Srinivasa Ragavan - - ** 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 - - ** Partial fix for bug #546637 - - * camel/camel-vee-summary.c: Now unread vfolder should be better. - -2008-11-07 Srinivasa Ragavan - - * camel-vee-summary.c: Make unread vfolders to work for match threads. - -2008-11-07 Srinivasa Ragavan - - ** Fix for bug #558883 - - * camel-db.c: (camel_db_prepare_message_info_table): Index more - fields. - -2008-11-06 Milan Crha - - ** 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 - - ** 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 - - ** 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 - - * camel-folder-summary.c: Remove more console spew. - -2008-10-16 Srinivasa Ragavan - - * 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 - - ** 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 - - * 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 - - ** Fix for bug #556372 - - * camel/camel-folder-summary.c: Update counts to summary on sync. - -2008-10-15 Srinivasa Ragavan - - * 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** Fix for bug #550466 - - * camel-store.c: (camel_store_delete_folder): - Ignore 'no such table' errors. - -2008-09-25 Milan Crha - - ** Fix for bug #553266 - - * camel-vee-folder.c: (vee_sync): - Do not free memory owned by someone else. - -2008-09-24 Milan Crha - - ** 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 - - ** 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 - - ** Convert all #warning messages from the disk-summary effort - to comments with a greppable FIXME[disk-summary] prefix. - -2008-09-18 Srinivasa Ragavan - - ** Fix for bug #552729 - - * camel/camel-db.c: Adds support for x-camel-mlist & Answered flag to - search/vfolders. - -2008-09-18 Hiroyuki Ikezoe - - ** Fix for bug #552724. - - * Makefile.am: Remove a while space following trailing backslash. - -2008-09-15 Srinivasa Ragavan - - * 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 - - * 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 - - * camel-store.c: Fixing typo. - -2008-09-12 Srinivasa Ragavan - - * camel/camel-db.c: - * camel/camel-db.h: Make CAMEL_DB_DEBUG as ifdef - -2008-09-11 Srinivasa Ragavan - - * 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 - - * camel/camel-vee-folder.c: - * camel/camel-vee-summary.c: Refix vfolder counts. - -2008-09-11 Srinivasa Ragavan - - * camel-vee-folder.c: (folder_changed_change): Fix a deadlock - -2008-09-11 Srinivasa Ragavan - - * camel-vee-folder.c: (folder_changed_change): Another missed lock. - -2008-09-11 Srinivasa Ragavan - - * camel-vee-folder.c: (folder_changed_change): A minor crash fixed. - -2008-09-11 Srinivasa Ragavan - - * camel-vee-folder.c: (folder_changed_change): Missed another deadlock - case. - -2008-09-11 Srinivasa Ragavan - - * 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 - - * camel/camel-vee-folder.c: Fix vfolders while unloading unmatched - search indexes. - -2008-09-10 Srinivasa Ragavan - - ** Fix for BNC bug #418080 - - * camel/camel-search-sql-sexp.c: Match contains using %like%. - -2008-09-10 Srinivasa Ragavan - - * camel/camel-folder-search.c: Fix a bug when sexp is executed - unnecessarily. - -2008-09-10 Srinivasa Ragavan - - * camel/camel-folder-search.c: Make it debuggable. - -2008-09-10 Srinivasa Ragavan - - * camel/camel-db.c: Add bdata to index. - -2008-09-08 Srinivasa Ragavan - - * camel/camel-folder-summary.c: Fix some compiler warnings - * camel/camel-vee-folder.c: - * camel/camel-vee-folder.h: - -2008-09-08 Srinivasa Ragavan - - * 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 - - ** 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 - - ** 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 - - * camel-vee-folder.c: (vee_rebuild_folder): Make vfolder counts much - better. - -2008-09-05 Srinivasa Ragavan - - * 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 - - * camel/Makefile.am: Commit missing .h changes to Makefile.am - -2008-09-03 Srinivasa Ragavan - - * camel/camel-vee-folder.c: Make vfolders rebuild only when empty. - -2008-09-03 Srinivasa Ragavan - - ** Fix for BNC bug #418080 - - * camel/camel-folder-search.c: Make thing better, with new sexp/sql - parser. - -2008-09-03 Srinivasa Ragavan - - * 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 - - ** 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 - - ** Fix for bug #550072 - - * camel/camel-search-private.c: Allow evolution-rss content type - on body-search - -2008-08-22 Srinivasa Ragavan - - ** Fix for bug #548865 - - * camel/camel-vee-store.c: Dont crash, if the folder isn't there. - -2008-08-21 Srinivasa Ragavan - - * camel/camel-folder-search.c: During quit, its possible that the - parent folder's infos are unavailable. - -2008-08-21 Srinivasa Ragavan - - * camel/camel-vee-store.c: Let vee store also sync its headers at the - end. - -2008-08-21 Srinivasa Ragavan - - * camel/camel-vee-folder.c: Make counts work even better. - -2008-08-21 Srinivasa Ragavan - - * camel/camel-vee-store.h: Name the flag appropriately. - * camel/camel-vtrash-folder.c: - -2008-08-21 Srinivasa Ragavan - - * camel/camel-folder-summary.c: Update visible count, intelligently. - -2008-08-21 Srinivasa Ragavan - - * camel/camel-vee-folder.c: Fix junk/trash counts. - -2008-08-21 Srinivasa Ragavan - - * camel/camel-vee-store.h: Add a new flag for vtrash handling. - * camel/camel-vtrash-folder.c: - -2008-08-21 Srinivasa Ragavan - - * camel/camel-folder-summary.c: Add code to dump sorted uids for - debuging. - -2008-08-20 Matthew Barnes - - ** 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 - - * camel/camel-db.c: Make use of collate function for just sorts also. - -2008-08-20 Srinivasa Ragavan - - * camel/camel-store.c: Save vfolders headers on sync. - -2008-08-20 Srinivasa Ragavan - - * camel/camel-vee-folder.c: Add function to save headers to db. - * camel/camel-vee-folder.h: - -2008-08-20 Srinivasa Ragavan - - * camel/camel-db.c: Remove debug logs. - -2008-08-20 Srinivasa Ragavan - - * 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 - - * camel/camel-folder-summary.c: Save the summary header atleast. - -2008-08-19 Srinivasa Ragavan - - * camel/camel-filter-driver.c: Read XEV headers if there are any. - -2008-08-19 Srinivasa Ragavan - - * camel/camel-folder-summary.c: Make things more debuggable. - -2008-08-19 Srinivasa Ragavan - - * 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 - - * camel/camel-vee-folder.c: Fix issue of unread mails in trash. - -2008-08-19 Srinivasa Ragavan - - * camel/camel-vee-folder.c: Fix counts in vfolders while expunge/empty - trash. - -2008-08-19 Srinivasa Ragavan - - ** Partial fix for bnc #418080 - - * camel/camel-search-sql.c: Support 'not' operator. - -2008-08-18 Srinivasa Ragavan - - * 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 - - * camel/providers/local/camel-mbox-summary.c: Delete uids in a bunch - than individual. It is a lot faster. - -2008-08-18 Srinivasa Ragavan - - * camel/camel-folder.c: Save summary at the end of the filtering. - -2008-08-18 Srinivasa Ragavan - - * camel/camel-vee-folder.c: Don't break while syncing inbetween while - syncing. - -2008-08-18 Srinivasa Ragavan - - * 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 - - * camel/camel-folder-search.c: Save the db, only if it is a db based - search. - -2008-08-18 Priit Laes - - ** 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 - - ** 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 - - * 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 - - * 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 - - ** Fix for bug #547389 - - * camel/camel-vee-folder.c: Fix crash on account search. Unhook the - signals on finalize. - -2008-08-14 Srinivasa Ragavan - - * camel/camel-vee-folder.c: Clean up subfolders while finalizing. - -2008-08-14 Srinivasa Ragavan - - * camel/camel-db.c: Build break and fix it better. - -2008-08-13 Srinivasa Ragavan - - * camel/camel-vtrash-folder.c: Revert junk/trash. It slows down. Needs - reimpl. - -2008-08-13 Srinivasa Ragavan - - * camel/camel-db.c: Properly unlock while aborting transaction. - -2008-08-13 Srinivasa Ragavan - - * camel/camel-db.c: Add code to log better. It needs cleanup even now. - * camel/camel-db.h: - -2008-08-13 Srinivasa Ragavan - - * camel/camel-search-sql.c: Fix label search failure. - -2008-08-13 Srinivasa Ragavan - - ** Fix for bug #547469 - - * camel/camel-vee-folder.c: Count only when you have results. - -2008-08-12 Srinivasa Ragavan - - * camel/camel-folder-summary.c: Make junk counts work well. - -2008-08-12 Srinivasa Ragavan - - * camel/camel-vtrash-folder.c: Make vtrash folders almost same as vee - folder. - -2008-08-12 Srinivasa Ragavan - - * camel/camel-search-sql.c: Fix invalid reads, by not double freeing. - -2008-08-12 Srinivasa Ragavan - - * camel/camel-search-sql.c: Initialize sql var to NULL - -2008-08-12 Srinivasa Ragavan - - ** Fix for bug #547256 - - * camel/camel-search-sql.c: Handle plain match-all - -2008-08-12 Srinivasa Ragavan - - * camel/camel-search-sql.c: Fix another search issue. - -2008-08-12 Srinivasa Ragavan - - * camel/camel-vtrash-folder.c: Make it use vee folder search than its - own. - -2008-08-12 Srinivasa Ragavan - - * camel/camel-vtrash-folder.c: Comment out unused code with a reason. - -2008-08-12 Srinivasa Ragavan - - * camel/camel-search-sql.c: Revamp search with support for more cases. - -2008-08-11 Sankar P - - * camel-db.c: - Words of warning - -2008-08-11 Tor Lillqvist - - * 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 - - * camel-vee-folder.c (folder_changed_change): - Remove dummy db transactions. - -2008-08-11 Sankar P - - * 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 - - * 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 - - * camel/camel-vee-folder.c: Save the count on exit. - -2008-08-11 Srinivasa Ragavan - - * camel/camel-vee-folder.c: Revamp vfolders and counts for it. - * camel/camel-vee-folder.h: - -2008-08-11 Srinivasa Ragavan - - * 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 - - * camel/camel-vee-summary.c: Implement replicated flags for vfolders. - * camel/camel-vee-summary.h: - -2008-08-09 Srinivasa Ragavan - - * camel/camel-folder-summary.c: Added summary reloaded event to camel - object - -2008-08-08 Srinivasa Ragavan - - * camel/camel-db.c: Add API for vfolder tables migration. - * camel/camel-db.h: - -2008-08-08 Srinivasa Ragavan - - * camel/camel-vtrash-folder.c: Disable custom getv function. - -2008-08-08 Srinivasa Ragavan - - * camel/camel-folder-summary.h: Remove DIRTY message flag. It is - redundant and in the wrong place. - -2008-08-08 Srinivasa Ragavan - - * 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 - - * camel/camel-folder-search.c: Check exception before getting. You - save lots of warnings. - -2008-08-11 Sankar P - - * 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 - - * camel/camel-db.c: Fix return values. - * camel/camel-folder-search.c: Suppress No such table exception. - -2008-08-07 Srinivasa Ragavan - - * camel/camel-folder-summary.c: Store to db intelligently. - -2008-08-07 Srinivasa Ragavan - - * camel/camel-vee-folder.c: Fix load/save counts of vee folder. - * camel/camel-vee-summary.c: - -2008-08-06 Matthew Barnes - - ** 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 - - ** Fix for bug #546613 - - * camel/camel-vee-folder.c: return NULL, if unmatched folder is - requested. - -2008-08-06 Srinivasa Ragavan - - * camel/camel-db.c: Some formatting changes. - * camel/camel-vee-folder.c: Set query only when it changes. - -2008-08-06 Srinivasa Ragavan - - * camel/camel-folder-summary.c: Remove some unwanted code. - -2008-08-06 Srinivasa Ragavan - - * 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 - - ** 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 - - * 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 - - * camel/camel-folder.c: Start fixing counts for vfolders. - -2008-08-06 Srinivasa Ragavan - - * camel/camel-db.c: Added a api to drop and recreate vfolder table. - * camel/camel-db.h: - -2008-08-06 Milan Crha - - ** 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 - - 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 - - ** 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 - - * 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 - - * 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 - - * camel/camel-digest-folder.c: Fix search by uids. Pro'lly a typo. - -2008-08-05 Srinivasa Ragavan - - ** Fix for bug #546184 - - * camel/camel-folder-search.c: Search if we are under match_all. - -2008-08-04 Matthew Barnes - - * camel.pc.in: List sqlite3 as a requirement. - -2008-08-04 Srinivasa Ragavan - - ** 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 - - * camel/camel-vee-folder.c: Fix some basic vfolder code for disk - summary. - -2008-08-04 Srinivasa Ragavan - - * 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 - - * camel/camel-string-utils.c: Disable debug crashers. - -2008-08-03 Srinivasa Ragavan - - * camel/camel-folder-summary.c: Make 5 minutes as cache drop interval. - -2008-08-03 Srinivasa Ragavan - - * camel/camel-folder-summary.c: Don't free mi's in migration. - -2008-08-03 Srinivasa Ragavan - - * camel/camel-folder-summary.c: Fix pstring crash issues. - -2008-08-01 Matthew Barnes - - * camel-exception.c: - * camel-filter-driver.c: - * camel-folder-search.c: - * camel-index-control.c: - * camel-object.c: - Remove unnecessary include. - -2008-07-31 Matthew Barnes - - ** 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 - - * 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 - - * 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 - - * camel-vee-folder.c (vee_search_by_expression), - (vee_rebuild_folder): - Don't print debug statements - -2008-07-31 Srinivasa Ragavan - - ** 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 - - * 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 - - ** Part of fix for bug #500389 - - * camel-provider.h: (enum CamelProviderConfType): New type 'OPTIONS'. - -2008-07-30 Srinivasa Ragavan - - * camel/camel-folder.c: Remove the folder locks in refresh info. It - deadlocks while resyncing in IMAP. - -2008-07-29 Srinivasa Ragavan - - ** Fix for bug #545099 - - * camel/camel-folder-summary.c: When new mails added, update the - summary. - -2008-07-29 Srinivasa Ragavan - - * camel/camel-folder.c: Remove Update folder function. - -2008-07-28 Srinivasa Ragavan - - * 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 - - * 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 - - * camel/camel-folder.c: Add function to update summary. - * camel/camel-vtrash-folder.c: Fix compiler warnings - -2008-07-28 Srinivasa Ragavan - - * camel/camel-folder-summary.c: Kick off debug lines. - -2008-07-27 Srinivasa Ragavan - - * camel/camel-folder-summary.c: Fix unread count updates in folder - tree. - -2008-07-27 Frederic Peters - - ** Fix for bug #544963 - - * Makefile.am: Include camel-search-sql.h in headers. - -2008-07-26 Srinivasa Ragavan - - * camel/camel-folder-summary.c: Fix compiler warning and some crash - possibilities. - -2008-07-26 Srinivasa Ragavan - - * camel/camel-folder-summary.c: Another possible deadlock. Never hold - summary lock and do a db operation. - -2008-07-26 Srinivasa Ragavan - - ** 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 - - ** Part of fix for bug #544049 - - * camel-object.c: Initialize global variables, just to be sure. - -2008-07-25 Milan Crha - - ** 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 - - ** 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 - - * camel/camel-db.h: Disable share cache sql - -2008-07-25 Srinivasa Ragavan - - ** Fix for bug #543569 - - * camel/camel-store.c: Recreate cache, if it was blown. - -2008-07-25 Srinivasa Ragavan - - ** 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 - - ** 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 - - ** 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 - - ** Camel Reference Manual improvements: - Add more sections to the Table of Contents. - Tag deprecated API with CAMEL_DISABLE_DEPRECATED. - -2008-07-25 Srinivasa Ragavan - - * 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 - - ** 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 - - * camel/camel-search-sql.c: Further improve search. - -2008-07-25 Srinivasa Ragavan - - * camel/camel-search-sql.c: Add more search crash handlers. Atm - body-search alone should fail. - -2008-07-24 Srinivasa Ragavan - - ** Fix for bug #544501 - - * camel/camel-search-sql.c: Handle single node search queries. - -2008-07-24 Srinivasa Ragavan - - ** 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 - - ** 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 - - * Makefile.am: Add core camel search in sql support. - * camel-db.c (camel_db_get_column_name): - -2008-07-23 Milan Crha - - ** 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 - - ** Fix a bunch of Gtk-Doc warnings. - -2008-07-22 Priit Laes - - ** Fixes bug #544202 - - * camel-store.c: (construct): Fix string usage after it is freed. - -2008-07-22 Sankar P - - * 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 - - * camel-db.c (camel_db_open): Check for - CAMEL_SQLITE_DEFAULT_CACHE_SIZE environment variable was - backwards. - -2008-07-21 Sankar P - - * 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 - - * camel/camel-folder-summary.c: Add migration support and fix some - warnings - -2008-07-20 Matthew Barnes - - ** Fixes bug #541347 - - * camel-block-file.h: - #include (in the proper order) - -2008-07-17 Sankar P - - * 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 - - 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 - - ** Fix for bug #213072 - - * camel-folder.c: (camel_folder_refresh_info): Lock while rebuilding - summaries. - -2008-07-07 Matt McCutchen 2 - - ** Fix for bug #503922 - - * camel-folder-summary.c: Fix typo in mapping flag name "draft". - -2008-07-02 Jeffrey Stedfast - - * camel-folder.c (camel_folder_sort_uids): New method to sort an - array of uids. - -2008-06-25 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - * camel-msgport.c: Make it compile on Win32. - -2008-06-06 Tor Lillqvist - - * 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 - - ** Part of fix for bug #534312 - - * camel-folder-summary.h: (enum CamelMessageFlags): - Added new message flag CAMEL_MESSAGE_FORWARDED. - -2008-05-22 Jeffrey Stedfast - - * 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 - - ** 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 - - ** 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 - - * camel-net-utils.h [Win32]: Define WIN32_LEAN_AND_MEAN around - including to reduce the namespace pollution, - especially DATADIR clashes. - -2008-05-07 Jeffrey Stedfast - - * 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 - - * 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 - - ** 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 - #include - - * 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 - - * Bad git-svn usage. Reverted. - -2008-05-01 Jeffrey Stedfast - - * 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 - - * 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 - - ** Fixes bug #530139 - - * tests/Makefile.am: Do not ship .svn files. - -2008-04-22 Milan Crha - - ** 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 - - * camel-mime-filter-pgp.c: (filter_run): - Fix a build break. Use different variable names - for different purposes. - -2008-04-17 Jeffrey Stedfast - - * 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 - - ** 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 - - ** 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 - - ** 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 - - ** Fixes bug #526138 - - * camel-mime-utils.c (camel_header_unfold): - Return NULL if the input string is NULL. - -2008-04-04 Jeffrey Stedfast - - * 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 - - * camel-mime-utils.c (camel_header_fold): Fixed bug #417000. - -2008-04-02 Milan Crha - - ** 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 - - ** 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 - - ** 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 . - -2008-03-17 Christian Kellner - - ** 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 - - ** 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 - - ** 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 - - ** Fixes part of bug #516074 - - * camel-net-utils.c: - * camel-net-utils.h: - Don't assume NI_MAXHOST and NI_MAXSERV are defined in - since these are GNU extensions. - -2008-02-11 Milan Crha - - ** 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 - - * 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 - - ** 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 - - ** Fix for bug #211353 - - * camel-filter-driver.c: (do_label): - Use new label tags when setting old tags. - -2008-01-11 Milan Crha - - ** 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 - - * 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 - - * camel-object.c (camel_object_cast): - Check CamelObject pointer for NULL (#509124). - -2008-01-24 Matthew Barnes - - * camel-store.c (camel_store_get_folder): - Call camel_object_bag_abort() before returning with an exception. - -2008-01-24 Srinivasa Ragavan - - ** 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 - - * 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 - - ** 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 - - * 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 - - * camel-session.c (camel_session_build_password_prompt): - Forgot to escape the user and host name strings. (#506250) - -2008-01-17 Matthew Barnes - - ** 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 - - ** 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 - - * camel-operation.c (camel_operation_end): - Use g_slist_delete_link() to discard the list node (#509370). - -2008-01-12 Srinivasa Ragavan - - * camel-mime-part.c: (camel_mime_part_get_content_size): Fixes few - warnings. - -2008-01-12 Srinivasa Ragavan - - * camel-mime-part.c: Fix a build break. - -2008-01-12 Srinivasa Ragavan - - ** Fix for bug #379896 - - * camel-mime-utils.c: (camel_header_param): Check the value for NULL - before comparing. - -2008-01-12 Srinivasa Ragavan - - ** Fix for bug #500233 - - * camel-url.c: (camel_url_new): Handle empty strings. - -2008-01-11 Jeffrey Stedfast - - 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 - - * Reverted previous patch because it doesn't play well with - prefer plain plugin. - -2008-01-09 Sankar P - - * 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 - - * 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 - - ** 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 - - ** 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 - - * 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 - - 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 - - * camel-mime-utils.c (header_decode_domain): Check *inptr before - calling camel_mime_is_dtext() - -2007-12-25 Jeffrey Stedfast - - 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 - - ** 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 - - * 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 - - ** 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 - - ** 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 - - ** 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 - - ** Fix for bug #324008 - - * camel-text-index.c: (text_index_sync): - Don't sync when wasn't created successfully. - -2007-11-23 Milan Crha - - ** 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 - - ** 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 - - ** 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 - - ** Typo fix in previous commit causing crash. - -2007-11-14 Matthew Barnes - - ** Merge a bunch of compiler warning fixes and cosmetic - cleanups from camel-lite. - -2007-11-11 Matthew Barnes - - * 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 - - * camel-mime-utils.c (camel_base64_decode_simple): - Add argument guards, although nothing should be using this anymore. - -2007-10-15 Jeffrey Stedfast - - * camel-mime-message.c (camel_mime_message_set_subject): Protect - against a NULL subject string. - -2007-10-01 Kjartan Maraas - - * 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 - - ** 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 - - ** 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 - - ** 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 - - * 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 - - ** 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 - - ** 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 - - * */*: - Fix FSF address (Tobias Mueller, #470445) - -2007-08-27 Johnny Jacob - - ** Fix for 261084 by Jared Moore - - * camel-folder-search.c: String change. - - -2007-08-27 Srinivasa Ragavan - - ** Fix for bug #256878 from Vincent Untz - - * camel-cipher-context.h: - * camel-gpg-context.c: (gpg_verify), (gpg_decrypt): - -2007-08-23 Matthew Barnes - - * camel-tcp-stream-ssl.c (camel_certdb_nss_cert_get): - Simplify the code; use g_file_get_contents() (#437331). - -2007-08-20 Matthew Barnes - - * camel-url.c: - Add argument checks to several public functions (#467883). - -2007-08-16 Milan Crha - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - * 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 - - ** Fix for 387806 by Rob Bradford - - * camel-text-index.c: Add some checking of return values when - calling camel_block_file_new_block. - -2007-08-12 Johnny Jacob - - ** Fix for Bug 261084 from Jared Moore - - * camel-folder-search.c : - -2007-07-28 Ross Burton - - * camel-index.c: - * camel-folder-summary.c: - Add some sanity checks (#460861) - -2007-07-29 Srinivasa Ragavan - - ** Fix for bug #402925 from hggdh - - * camel.c: (camel_init): - -2007-07-09 Gilles Dartiguelongue - - * 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 - - ** 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 - - ** Fix for bug #434356 from Jindrich Makovicka - - * camel-mime-utils.c: (header_decode_lwsp), (header_decode_domain): - -2007-07-02 Srinivasa Ragavan - - ** Fix for bug #412735 from Pascal Terjan - - * camel-url-scanner.c: (url_stop_at_brace): - -2007-06-26 Philip Van Hoof - - * 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 - - * camel-sasl-gssapi.c: (gssapi_challenge): replace gss_nt_service_name - with GSS_C_NT_HOSTBASED_SERVICE. - -2007-06-14 Philip Van Hoof - - * camel-net-utils.c: Memory leak fix - -2007-06-14 Philip Van Hoof - - * 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 - - * 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 - - * camel-sasl-gssapi.c: - Fixed some wrong pre-processor directives, - that were causing build-break. - See bug #344728 - -2007-06-05 Irene Huang - - * camel-sasl-gssapi.c: Add headers for Sun Kerberos - fixing bug #344728 - -2007-06-05 Irene Huang - - * camel-sasl-gssapi.c: - -2007-06-01 Karl Relton - - ** 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 - - * providers/sendmail/Makefile.am: - Add missing link flags to fix build with -z,defs. (#409542, Loic - Minier) - -2007-05-16 Jules Colding - - * 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 - - * 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 - - * 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 - - * camel-stream-vfs.c: - * camel-stream-vfs.h: - Fix warnings reported by 'sparse'. Patch from Kjartan Maraas. - -2007-04-30 Srinivasa Ragavan - - * Makefile.am: Added the include files part of core to the - installation path. Build break. - -2007-04-27 Matthew Barnes - - ** 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 - - * 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 - - ** Fix for bug #322105 - - * camel-folder-summary.c: (info_set_flags): Fix for non-junk messages - to learn ham. - -2007-04-01 Matthew Barnes - - * 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 - - * 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 - - ** Fixes part of bug #360240 - - * camel-stream-vfs.c (camel_stream_vfs_new_with_handle): - Remove unused variable. - -2007-02-26 Srinivasa Ragavan - - ** Fix for bug #331813 - - * camel-mime-filter-tohtml.c: Patch from Gilles - Dartiguelongue. - -2007-02-23 Matthew Barnes - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - * 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 - - ** 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 - - * 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 - - * camel-mime-filter-crlf.c (filter): Fixes buffer overrun. - Bug #369168. Patch submitted by Hans Petter Jansson. - -2006-10-05 Tor Lillqvist - - 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 - - ** Fixes bug #350907 - - * camel-filter-search.c: (run_command): Unref GMainContext - * camel-filter-driver.c: (pipe_to_system): ditto - -2006-08-28 Veerapuram Varadhan - - ** Fixes bug #331099 based on patches by Eric Anholt - and Joe Marcus Clarke - - * camel-object.c: (cobject_state_read): Cast the input for - g_try_malloc to gulong. - -2006-08-23 Wang Xin - - 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 - - ** 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 - - * 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 - - 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 - - * camel-string-utils.c (camel_pstring_add): - Fixes a variable naming error. Fixes build break. - -2006-07-06 Jeffrey Stedfast - - 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 - - * 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 - - * 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 - - * camel-gpg-context.c: - - * camel-net-utils.c: changing "cancelled" to "canceled" in - user-visible strings. Fixes bug #342163. - -2006-06-15 Andre Klapper - - * 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 - - * 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 - - * 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 - - * camel-stream-vfs.h: Added the missed file to commit. - -2006-05-24 Srinivasa Ragavan - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-mime-utils.c (camel_header_raw_check_mailing_list): Fixed - a goof in the last patch. - -2006-04-12 Jeffrey Stedfast - - * Fixes to many source files to suppress compiler warnings thanks - to Kjartan Maraas. - -2006-04-04 Jeffrey Stedfast - - * camel-charset-map.c (main): Set appropriate structs/struct - elements to static/const. - - * camel-charset-map-private.h: Regenerated. - -2006-04-05 Simon Zheng - - ** 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 - - ** 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 - - * 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 - - * providers/groupwise/camel-groupwise-store.c: - (groupwise_build_folder_info): Added flags for the system folders. - -2006-02-21 Rohini S - - ** See bug 318697 - - * camel-url-scanner.c (camel_url_addrspec_start): conditions - modified to parse only valid mailto links - -2006-02-21 Rohini S - - ** Fixes bug #328322 - - * camel-mime-filter-tohtml.c: add new pattern for sftp urls. - -2006-02-21 Rohini S - - * camel-url-scanner.c (camel_url_web_end): Modified to accept urls - with ./ - Fixes bug#256142 - -2006-02-16 Parthasarathi Susarla - - * camel-disco-diary.c (camel_disco_diary_log): proceed only if - diary is a valid pointer - -2006-02-13 Rohini S - - **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 - - ** 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 - - * camel-object.c (object_finalise): - (camel_message_info_free): decrement Ref count properly - -2006-02-02 Tor Lillqvist - - * camel-net-utils.h - * camel-net-utils.c: Make it compile on Win32 also without - getaddrinfo() (with NEED_ADDRINFO). - -2006-01-25 Not Zed - - * 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 - - * 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 - - * camel-service.c (camel_service_disconnect): - set the service-status to CAMEL_SERVICE_DISCONNECTED - -2006-01-10 Simon Zheng - - * 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 - . - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-file-utils.c: Win32 port: Include . 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 - - * 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 - - ** See bug #321139 - - * camel-exception.c: (camel_exception_get_description): - Don't return NULL. - -2005-12-01 Tor Lillqvist - - * 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 - - * 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 - - * 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 - - reviewed by Srinivasa Ragavan - - * 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 - - * 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 - - * 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 - - * camel-disco-store.c: (disco_connect): - If no diary is created, no need to do resync. - -2005-11-15 Ross Burton - - * camel-provider.c: - Use lazy bindings (#321515) - -2005-11-15 Harish Krishnaswamy - - * providers/Makefile.am: Add hula to SUBDIRS. - -2005-10-23 Parthasarathi Susarla - - ** See bug #218177 - - * camel-vtrash-folder.c: (vtrash_remove_folder): - check if mi->real exists, continue otherwise. - -2005-10-11 Vivek Jain - - ** 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 - - ** 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 - - * camel-store.h: - Defined new macro CAMEL_FOLDER_TYPE_SENT for identifying sent-folder. - Needed for fixing #257321 - -2005-09-15 Tor Lillqvist - - * 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 - - ** See bug #314574 - - * camel-lock-client.c: (camel_lock_helper_init): - remove an spurious ','. - -2005-09-01 Parthasarathi Susarla - - * camel-lock-client.c: (camel_lock_helper_init): - use API_VERSION instead of the BASE_VERSION - -2005-08-22 Not Zed - - * 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 - - ** See #312668. - - * camel-tcp-stream-ssl.c (stream_close): handle re-closing a - closed socket. - -2005-08-18 Not Zed - - ** See bug #271894. - - * camel-gpg-context.c (gpg_decrypt): use the content part's - mime-type to determine options. - -2005-08-17 Tor Lillqvist - - * camel-operation.c (stamp): Use g_get_current_time() instead of - gettimeofday() for portability. - - * camel-cipher-context.c - * camel-vee-folder.c: Drop unneeded . - - * 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 . - - * camel-sasl-digest-md5.h: Drop unneeded . - - * camel-sasl-kerberos4.h - * camel-sasl-kerberos4.c: Move inclusion of to the - source file so we don't need any Win32 ifdefs in the - header. Include also and "camel-net-utils.h" in the - source file. - - * camel-service.c: Drop unneeded - - * providers/pop3/camel-pop3-store.c - * providers/smtp/camel-smtp-transport.c: Drop unneeded - and . - -2005-08-15 Not Zed - - ** 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 - - * 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 - - * 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 - - * 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 - - * camel-store.c (camel_store_get_folder): add some debug logging. - -2005-04-17 Changwoo Ryu - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - * 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 - - * camel-store.c: (camel_isubscribe_subscribe), - (camel_isubscribe_unsubscribe): - Void function should not return value. - - Fixes #310198 - -2005-07-25 Shreyas Srinivasan - - * camel-offline-folder.c (camel_offline_folder_init): Copy - folder contents locally by default. - -2005-07-20 Not Zed - - * 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 - - * 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 - - * 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 - - * 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 - - ** Patch submitted by Greg Hudson - ** See bug #308209 - * camel-sasl-login.c: (login_challenge): Wait for the - server to initiate the challenge. - -2005-07-06 Vivek Jain - - * 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 - - * 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 - - * camel-store.c (camel_folder_info_build): Minor typo in debug message. - -2005-05-16 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * camel-stream.c (camel_stream_read): Fix for systems where read - is a macro by David Malcolm. - -2005-03-01 Not Zed - - * tests/misc/test2.c: fix the case of the charset specification, - now we properly canonicalise them. - -2005-03-01 Not Zed - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - ** See bug #70590 - - * camel-filter-driver.c (do_move): Make this copy+delete, and - terminate processing implicitly. - -2005-02-24 Not Zed - - ** See bug #68459 - - * camel-nntp-address.[ch]: cameladdress implementation for list of - newsgroups. - -2005-02-11 Radek Doulik - - * camel-filter-search.c (junk_test): use camel debug - - * camel-junk-plugin.c: use camel debug - -2005-02-09 Jeffrey Stedfast - - * 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 - - * camel-iconv.c: remove dead file - -2005-02-07 Jeffrey Stedfast - - * tests/folder/test11.c: Fixed junk/trash folder names/paths. - -2005-02-04 Not Zed - - * 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 - - * 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 - - ** 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 - - * 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 - - * camel-mime-utils.c (camel_mime_special_table): Remove this, it's - declared externally now. - -2005-01-31 Not Zed - - ** 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 - - * camel-provider.h: Added CAMEL_URL_PART_HIDE* options, required - for more flexible extensibility. - -2005-01-29 Sivaiah Nallagatla - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/imap4/camel-imap4-folder.c (camel_imap4_folder_new): - Setup filtering and junk filtering stuff. - -2005-01-24 JP Rosevear - - * tests/folder/test6.c: get imap4 not imap - - * tests/folder/test4.c: ditto - -2005-01-24 Jeffrey Stedfast - - * 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 - - * 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 - - * providers/groupwise/camel-groupwise-folder.c - (groupwise_transfer_messages_to): using moveItemRequest for moving - messages between folders. - -2005-01-23 Jeffrey Stedfast - - * 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 - - ** 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 - - * 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 - - * 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 - - * providers/groupwise/camel-groupwise-folder.c - (groupwise_folder_get_message) : support for status - for message tracking. - Removed compiler warnings. - -2005-01-20 Parthasarathi Susarla - - * 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 - - * 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 - - -2005-01-19 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/groupwise/camel-groupwise-store.c: - Removed debug statements and compiler warnings - -2005-01-17 Sivaiah Nallagatla - - * 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 - - * 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 - - ** 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 - - * 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 - - * 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 - - * providers/imap4/camel-imap4-provider.c: Use the same key - shortcuts as current imap code. - -2005-01-13 Not Zed - - ** 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 - - ** 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 - - * providers/imap4/camel-imap4-store-summary.c - (camel_imap4_store_summary_get_folder_info): Fixed a possible - uninitialised condition. - -2005-01-12 Sushma Rai - - * camel-provider.[ch]: Removed camel_provider_validate_user() - and added a void pointer to CamelProvider structure. - -2005-01-12 Not Zed - - ** See bug #70095. - - * camel-vee-folder.c (vee_delete): fix past-o, unlock not lock - lock when done. - -2005-01-08 Not Zed - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - * camel-store.h : defined flags for shared folders - -2005-01-11 Not Zed - - ** See bug #70919. - - * camel-multipart-signed.c (parse_content): treat the post pointer - as binary, not 0 terminated. - -2004-12-23 Not Zed - - ** 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/groupwise/camel-groupwise-store.c - (groupwise_store_construct): don't free an alloca'd memory pointer - -2005-01-06 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * providers/groupwise/camel-groupwise-store.c - (groupwise_store_construct): initialise the store summary. - -2005-01-04 Parthasarathi Susarla - - * 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 - - * 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 - - * providers/groupwise/camel-groupwise-provider.c : changed the - offline_sync setting label - -2004-12-23 Parthasarathi Susarla - * providers/groupwise/camel-groupwise-private.h: - Added the file which was missed out in the previous commit. - -2004-12-23 Parthasarathi Susarla - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/imap4/camel-imap4-folder.c (imap4_append_message): - Need to have the folder as the first vararg. - -2004-12-06 Rodney Dawes - - * 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 - - * 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 - - * 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 - - * providers/imap/camel-imap-provider.c:add mnemonic for checkboxes. - -2004-12-03 Jeffrey Stedfast - - * 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 - - * 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 - - ** 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 - - ** 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 - - ** 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 - - ** 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 - - * 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 - - ** 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 - - * camel-junk-plugin.c: new init method implementation - - * camel-junk-plugin.h: added junk plugin init declaration - -2004-11-10 Not Zed - - ** 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - ** Merge in notzed-messageinfo-branch, fix some minor conflicts. - -2004-11-11 Jeffrey Stedfast - - * providers/imap4/camel-imap4-store.c (imap4_reconnect): Free the - passwd here if we need to retry to authenticate. - -2004-11-10 Jeffrey Stedfast - - * 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 - - * 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 - - ** 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 - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-folder-summary.c (camel_pstring_strdup) - (camel_pstring_free, message_info_free, message_info_clone): - 'uniquify' the strings. - -2004-10-28 Jeffrey Stedfast - - * 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 - - * camel-sasl-kerberos4.c: #include "camel-i18n.h" - -2004-10-27 Julio M. Merino Vidal - - * camel-operation.c (camel_operation_shutdown): fix the arguments - to pthread_key_delete. - -2004-10-26 Jeffrey Stedfast - - * 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 - - * 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 - - * camel-sasl-gssapi.c: #include "camel-i18n.h" - -2004-10-20 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - ** 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 - - ** 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 - - ** 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 - - * 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 - - ** 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 - - * camel-service.c (camel_getaddrinfo): Check msg->result for error - and set an exception if appropriate. - (camel_getnameinfo): Same. - -2004-10-04 Jeffrey Stedfast - - * 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 - - ** 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 - - * providers/imap4/camel-imap4-provider.c: include camel-i18n.h - -2004-10-01 Jeffrey Stedfast - - * 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 - - ** 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 - - * 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 - - * 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 - - * 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 - - ** 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 - - * 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 - - * 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 - - ** 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 - - ** 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 - - * camel-folder-summary.c (camel_folder_summary_decode_token): - handle a zero-length token read rather than failing. - -2004-09-21 Not Zed - - ** 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 - - Fixes Bug#61088 - - * camel/camel-smime-context.c: Change of strings. - -2004-09-15 Not Zed - - ** 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 - - * 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 - - ** 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 - - * 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 - - * camel-folder.c (folder_getv): Init one variable (remove warning) - and don't redefine it. - -2004-08-23 Not Zed - - ** 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 - - * 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 - - * 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 - - * 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 - - * providers/groupwise/camel-groupwise-provider.c - (camel_provider_module_init): pass an exception handle to - camel_provider_get. - -2004-08-13 Jeffrey Stedfast - - * 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 - - * 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 - - * providers/groupwise/camel-groupwise-provider.c: update ssl - setting label and title of the soap settings section. Fixes #62747 - -2004-08-13 Rodney Dawes - - * camel-sasl-gssapi.c: Handle et/comm_err.h as well as the - normal comm_err.h - -2004-08-11 Jeffrey Stedfast - - 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 - - * 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 - - * 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 - - * camel-charset-map.c: #include - -2004-08-03 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-mime-utils.c (camel_header_encode_string): Fixed an ABR - that may have been responsible for bug #62029. - -2004-07-29 Sivaiah Nallagatla - - * 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 - - * 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 - - ** See bug #61841. - - * providers/groupwise/camel-groupwise-provider.c: added junk settings. - -2004-07-27 Jeffrey Stedfast - - * 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 - - 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 - - * 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 - - ** 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 - - * providers/imap/camel-imap-store.c (get_subscribed_folders): Free - result after parsing it. Fixes a leak. - -2004-07-19 Not Zed - - * 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 - - * camel-gpg-context.c: Added some debug stuff. - -2004-07-15 Jeffrey Stedfast - - * 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 - - 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 - - * 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 - - ** 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 - - ** 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 - - * providers/groupwise/Makefile.am (INCLUDES): use - CAMEL_GROUPWISE_CFLAGS. - (libcamelgroupwise_la_LIBADD): use CAMEL_GROUPWISE_LIBS. - -2004-09-07 Not Zed - - * providers/groupwise/camel-groupwise-provider.c: put the options - in their own section. - -2004-09-06 Not Zed - - * 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 - - * 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 - - * camel-list-utils.[ch]: Copied e_dlist* stuff to here, part of - removing e-util dependency on camel. - -2004-08-05 Not Zed - - * 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 - - * 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 - - * camel-folder.c: removed filter-rule.h ugh. - -2004-07-02 Christian Neumair - - * camel-smime-context.c: s/Can't/Cannot/. - -2004-06-30 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-url-scanner.c (camel_url_web_end): More fixes. - -2004-06-25 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * camel-service.c (service_setv): Really set the path if tag is - CAMEL_SERVICE_PATH. - -2004-06-21 Jeffrey Stedfast - - * camel-mime-filter-enriched.c (enriched_to_html): Fixed a number - of issues described in bug #49497. - -2004-06-18 Jeffrey Stedfast - - * 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 - - * camel-exception.h (CAMEL_EXCEPTION_INITIALISER): setup for - static inititialisation. - -2004-06-17 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - ** 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 - - * camel-mime-filter-gzip.c (camel_mime_filter_gzip_finalize): - Don't leak the zlib stream internals. - -2004-05-27 Jeffrey Stedfast - - 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 - - * 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 - * providers/groupwise/came;-gw-listener.c (add_addressbook_sources): - set port property on e-source - -2004-05-25 Sivaiah Nallagatla - - * 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 - - * 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 - - * 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 - - * camel-mime-utils.c (camel_header_newsgroups_decode): - fix/rearrange logic. It was using the wrong working pointer. - -2004-05-24 Sivaiah Nallagatla - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - ** 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 - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-smime-context.c (sm_signing_cmsmessage): Fixed a - type-o. Fixes bug #58348. - -2004-05-10 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/groupwise/camel-gw-listener.h: Fixed typo. - -2004-05-04 Not Zed - - ** 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 - - ** 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 - - * providers/nntp/camel-nntp-summary.c: Fix typo. #53466. - -2004-04-28 Jeffrey Stedfast - - * 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 - - ** 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 - - * camel-provider.h: Added HAS_LICENSE flag for allowing camel - providers to display license file. - -2004-04-22 Not Zed - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-vee-store.c (change_folder): (flags & 0) will never be - true. Fixes bug #56982. - -2004-04-15 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * providers/imap/camel-imap-store.c (get_folder_online): - Rearranged some error checking code to fix bug #56405. - -2004-04-13 Not Zed - - * 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 - - * 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 - - * providers/groupwise/camel-gw-listener.c - (add_addressbook_sources): change the auth type string from - Password to plain/password - -2004-04-12 Jeffrey Stedfast - - 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 - - * providers/groupwise/camel-gw-listener.c - (add_addressbook_sources) (modify_addressbook_sources) : add - bookname to uri - -2004-04-09 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-exception.c (w): Wrap annoying exeption warnings with w(). - -2004-03-30 Jeffrey Stedfast - - * providers/imap4/camel-imap4-store.c (imap4_get_folder_info): - Partially implemented. - (imap4_get_folder): Implemented. - -2004-03-30 Jeffrey Stedfast - - * 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 - - * 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 - - ** 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/imap/camel-imap-folder.c (imap_update_summary): - Reverted imap.web.de fix. - -2004-03-26 Not Zed - - * 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 - - * 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 - - * 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 - - 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 - - * providers/smtp/camel-smtp-provider.c: Removed newline character - from the provider description - -2004-03-25 Sivaiah Nallagatla - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - * camel-folder.c (folder_changed): clearn the learn bit only if - set. - -2004-03-12 Jeffrey Stedfast - - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - ** 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 - - * 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 - - * 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 - - ** 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 - - * 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 - - * 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 - - * 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 - - * camel-folder.c (get_unread_message_count): do not avoid junk - mails in unread count - -2004-02-25 Not Zed - - * 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 - - ** 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 - - * camel-stream-process.c: #include , 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 - - * 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 - - * camel-store.c (camel_store_uri_cmp): Removed. Useless/broken - function. - -2004-02-20 Jeffrey Stedfast - - * camel-provider.c (camel_provider_list): Init list to NULL to - prevent the crash in bug #54574. - -2004-02-19 Chris Toshok - - * camel-smime-context.c: wrap this file with #ifdef ENABLE_SMIME - instead of #ifdef HAVE_NSS. - -2004-02-19 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * camel-gpg-context.c (gpg_verify): Set the trust. - - * camel-cipher-context.h: Add a trust metric to signatures. - -2004-02-17 Not Zed - - * 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 to avoid aborting on irrelevently - truncated lines. - -2004-02-16 Not Zed - - ** 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 - - * 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 - - * 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 - - ** 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 - - * 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 - - * 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 - - * 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 - - ** 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 - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * providers/groupwise/camel-groupwise-provider.c: Fix spelling error in - provider description - - Fixes #53572 - -2004-01-30 Jeffrey Stedfast - - * camel.c (camel_init): Protect against multiple camel_init() - calls. Remember if we've already been called. - -2004-01-30 Not Zed - - * 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 - - ** 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 - - * 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 - - * 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 - - * 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 - - * 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 - - ** 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 - - * 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 - - * 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 - - * camel-mime-part.c: Fix prototype to be consistent. - -2004-01-21 Not Zed - - ** 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 - - ** 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - ** 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 - - * providers/groupwise/camel-groupwise-provider.c - (camel_provider_module_init): missing renaming. - -2004-01-14 Rodrigo Moya - - * 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 - - ** Patch from Timo Sirainen 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 - - * 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 - - * providers/groupwise/camel-groupwise-provider.c: missing renaming. - -2004-01-13 Sivaiah Nallagatla - - * 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 - - * 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 - - ** 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 - - * 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 - - * providers/groupwise/Makefile.am (EXTRA_DIST): libcamelgroupwise.urls - instead of libcamelimap.urls - -2004-01-09 Sivaiah Nallagatla - - * 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 - - * 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 - - * 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 - - * camel-utf8.c: include sys/types.h for freebsd - -2004-01-05 Rodrigo Moya - - * providers/groupwise/camel-groupwise-provider.c (groupwise_url_hash, - groupwise_url_equal): renamed from imap_*. - -2004-01-05 Not Zed - - * 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 - - * camel-tcp-stream-raw.c (socket_connect): Save errno and check - the return of the socket() call. - -2003-12-24 Rodrigo Moya - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - ** 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 - - * 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 - - * 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 - - 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 - - * */Makefile.am: Remove hard coded disable deprecated flags - -2003-12-05 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-store.c (camel_store_get_folder_info): use old code from - mail-ops to add vtrash/vjunk info - -2003-11-28 David Woodhouse - - * 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 - - * camel-mime-utils.c (mail_list_magic[]): Added list-unsubscribe - header match. - -2003-11-26 Not Zed - - * 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 - - * Makefile.am: make sure we always dist the smime stuff - -2003-11-26 JP Rosevear - - * Makefile.am (libcamelinclude_HEADERS): conditionally compile - s/mime support - -2003-11-25 Not Zed - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-smime-context.c (camel_smime_context_describe_part): - implement. - -2003-11-05 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-cms-context.[ch]: removed, now redundant. - -2003-10-30 Not Zed - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-utf8.c (camel_ucs2_utf8, camel_utf8_ucs2): helpers for - ucs2 stuff. ucs2 is 16 bit truncated unicode. - -2003-10-28 Jeffrey Stedfast - - * 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 - - * 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 - - * camel-mime-utils.c: (camel_header_decode_date): - better detection of broken date to give to broken_date_parser. - -2003-10-24 Jeffrey Stedfast - - * 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 - - * *.c: Removed unneeded CAMEL_OBJECT() casts. - -2003-10-21 Not Zed - - * 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 - - * 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 - - * camel-sasl-kerberos4.c: Fixed a #include. - -2003-10-10 Not Zed - - * 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 - - * 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 - - * providers/smtp/camel-smtp-transport.c (smtp_helo): Removed an - unused variable. - -2003-09-25 Jeffrey Stedfast - - * providers/smtp/camel-smtp-transport.c (smtp_helo): If the - localhost lookup results in a numeric IPv6 host, use the form - "[IPv6:]" as specified in rfc2821. Fixes bug #46006. - -2003-09-23 Ettore Perazzoli - - * 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 - - * 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 - - ** 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 - - * 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 - - * camel-session.c (session_thread_destroy): call proper entry - point for freeing the message. - -2003-09-18 Not Zed - - * camel-folder.c (filter_filter): register the filtering process - for progress, and do progress of the filtering process. - -2003-09-17 Not Zed - - * 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 - - * 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 - -2003-09-18 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * Makefile.am (noinst_LTLIBRARIES): Remove libcamel-static.la - -2003-09-05 Not Zed - - * 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 - - * providers/camel-imap-store.[ch]: Add PREAUTH handling and - pine/mutt/etpan/etc.-style 'ssh exec imapd' support. - -2003-09-03 David Woodhouse - - * camel-stream-process.[ch]: New stream implementation for running - commands. - * Makefile.am: Compile the above - -2003-08-20 Not Zed - - ** 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 - - * camel-http-stream.c (camel_http_stream_set_proxy): handle NULL - proxy_url - unset the proxy. - -2003-08-29 Not Zed - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/imap/camel-imap-wrapper.c (imap_wrapper_hydrate): Make - sure to ref the stream. Fixes bug #47749. - -2003-08-18 Not Zed - - * 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 - - ** 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 - - * providers/imap/camel-imap-wrapper.c (imap_wrapper_hydrate): - Don't attach any filters to decode base64/qp/etc. - -2003-08-14 Jeffrey Stedfast - - * camel-mime-part.c (write_to_stream): Save errno when - flushing/unreffing the filter stream. - -2003-08-13 Jeffrey Stedfast - - * 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 - - * 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 - - ** See bug #47517. - - * camel-vee-folder.c (vee_sync): Always rebuild folder on any - sync, not just expunge ones. - -2003-08-11 Not Zed - - * 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 - - ** 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-iconv.c: Fix for #46168 'some additional locale aliases - required for chinese support'. - -2003-07-25 Jeffrey Stedfast - - * 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 - - * camel-provider.c (camel_provider_init): Print the provider - directory as well, for debugging. - -2003-07-23 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - ** 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 - - * 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 - - * camel-stream-fs.c (stream_read): If we read 0 bytes, then set - eos to TRUE. - -2003-07-09 Jeffrey Stedfast - - 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 - - * camel.h: remove reference to camel-pgp-mime.h - -2003-07-08 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-folder-search.c (camel_folder_search_finalize): free the - summary hash - -2003-06-24 David Woodhouse - - * camel-mime-utils.c (header_format_date): Put day of week into - outgoing email. - - -2003-06-25 Jeffrey Stedfast - - * camel-folder-summary.h: Added prototype for - camel_folder_summary_remove_range(). - -2003-06-25 Not Zed - - ** 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 - - ** 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 - - * 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 - - * providers/pop3/camel-pop3-folder.c (pop3_finalize): Made static - (to match the prototype). - -2003-06-13 Larry Ewing - - * 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 - - * 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 - - ** 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 - - ** 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 - - 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 - - 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 - - * 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 - - * camel-text-index.c (text_index_normalise): use g_utf8_strdown - properly. - -2003-06-09 Jeffrey Stedfast - - * 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 index 7ea58c8..0000000 --- a/camel/ChangeLog.pre-1-4 +++ /dev/null @@ -1,22083 +0,0 @@ -2003-06-01 Jeffrey Stedfast - - * 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 - - * camel-filter-driver.c (run_only_once): Turned off a debugging - printf. - -2003-05-27 Jeffrey Stedfast - - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - ** 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - ** 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 - - * 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 - - * 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
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 - - ** 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 - - * 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 - - * providers/smtp/camel-smtp-transport.c: Turn off debugging if - CAMEL_VERBOSE_DEBUG isn't set. - -2003-04-10 Not Zed - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * camel-gpg-context.c: Disable debug printf's - -2003-03-28 Jeffrey Stedfast - - * 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 - - * 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 tags. - -2003-03-28 Not Zed - - * 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 - - * 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 - - * 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 - - * - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * camel-sasl-gssapi.c: #include instead of - #include - -2003-03-20 Jeffrey Stedfast - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-vee-folder.c (vee_search_by_expression): handle a null - return from search_by_expression, for bug #33786. - -2003-03-06 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - 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 - - 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 - - * 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 - - * camel-object.h: s/class/klass in one place so that the header is - c++-safe. - -2003-03-03 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-tcp-stream-ssl.c (stream_connect): Fixed a type-o in the - ENABLE_IPv6 ifdef section. - -2003-02-19 Jeffrey Stedfast - - * 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 - - * camel-folder-search.c: Added a (get-size ) function to fix bug - #38073. - (search_get_size): Implemented. - -2003-02-14 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * camel-object.c (camel_object_bag_new): Init bag->owner to 0. - -2003-01-31 Not Zed - - * 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 - - * 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 - - * 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 - - * Makefile.am: $(libexec) -> $(libexecdir) - -2003-01-22 Ettore Perazzoli - - * 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 - - * 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 - - * camel-mime-filter-enriched.c (enriched_to_html): only grow the - buffer when we are out of space. - -2003-01-14 Not Zed - - * 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 - - * camel-sasl-gssapi.[c,h]: New source files implementing the - GSSAPI SASL mechanism. - -2003-01-13 Not Zed - - * 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 - - * 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 - - * camel-store.c (store_sync): init local exception before doing - anything. fixes a crash. - -2003-01-04 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-mime-filter-tohtml.c (html_convert): Use camel-url-scanner - instead of regex. - -2002-12-09 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-mime-filter-tohtml.c (html_convert): added - CAMEL_MIME_FILTER_TOHTML_PRESERVE_8BIT flag - -2002-11-18 Rodney Dawes - - * tests/*/Makefile.am: Removed $(GNOME_LIBDIR) and $(GNOMEUI_LIBS) - -2002-11-15 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * camel-mime-part.c (camel_mime_part_set_content_type): constify - the content_type. - -2002-11-07 Jeffrey Stedfast - - * 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 - - * camel-object.h: removed gnome-defs.h, it does not exist. - -2002-11-05 Not Zed - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - ** 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 - - * 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 - - 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 - - * camel-tcp-stream-ssl.c (camel_certdb_nss_cert_set): If - ~/.camel_certs doesn't exist, create it. - -2002-10-15 Not Zed - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - 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 - - * 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 - - * 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 - - * camel-charset-map.c (camel_charset_iso_to_windows): Map us-ascii - to windows-1252 also. - -2002-10-02 Not Zed - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/imap/camel-imap-folder.c (CAMEL_MESSAGE_INFO_HEADERS): - Include MIME-VERSION and CONTENT-TYPE. - -2002-09-18 Not Zed - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * 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 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/imap/camel-imap-folder.c (imap_rename): When renaming our - cache, add the "/folders" to the path. - -2002-08-08 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - * providers/imap/camel-imap-store.c (create_folder): If the folder - name contains the directory separator, reject it. - -2002-08-02 Not Zed - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - -2002-07-30 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-tcp-stream.c: #include for memcpy. - -2002-07-22 Not Zed - - * camel-vee-folder.c (vee_set_message_user_tag): Oops, forgot to - implement this. Fixes #24604. - -2002-07-21 Jeffrey Stedfast - - * 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 - - * camel-mime-part-utils.c (convert_buffer): Changed to use a - different length calculator. - -2002-07-17 Jeffrey Stedfast - - * camel-lock.c: Add the appropriate #include for the _() macro. - -2002-07-17 Not Zed - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/smtp/camel-smtp-transport.c (smtp_data): Don't let any - parts have a binary encoding. - -2002-07-11 Jeffrey Stedfast - - Fixes bug #27672 - - * camel-mime-filter-bestenc.c: Conditionally #include - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/local/camel-local-provider.c: Remove the #include for - camel-spoold-store.h - -2002-06-26 Not Zed - - * camel-gpg-context.c: Include 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 - - * 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 - - * 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 - - * camel-gpg-context.c: #include - -2002-06-25 Jeffrey Stedfast - - * camel-gpg-context.c (gpg_hash_str): Return the option as - --digest-algo= - (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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-mime-parser.c (folder_scan_drop_step): Drop back to - initial state if we came from eof state. - -2002-06-19 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-multipart-signed.c (camel_multipart_signed_verify): Use - CAMEL_EXCEPTION_SYSTEM rather than '1' for clarity. - -2002-06-07 Jeffrey Stedfast - - * camel-tcp-stream-ssl.c (stream_connect): Up the timeout on the - connect code to 2 minutes. - -2002-06-05 Dan Winship - - * camel-mime-utils.c (header_decode_mailbox): Parse - "From: Dan Winship " (with no domain) in the way the sender - meant it, even though it's completely wrong. - -2002-06-04 Not Zed - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-multipart.h (struct _CamelMultipart): Removed the - 'parent', nothing used it, anywhere. Cleaned up some formatting - slightly. - -2002-05-30 Jeffrey Stedfast - - * 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 - - * providers/imap/camel-imap-store.c (connect_to_server): Only free - the LOGOUT response if it is non-NULL. - -2002-05-28 Not Zed - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/imap/camel-imap-store.c (connect_to_server): Added - some NULL protection fixes. - -2002-05-22 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - * providers/imap/camel-imap-folder.c (imap_get_message): Previous - fix reverted. - -2002-05-13 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-object.h: s/class/klass for arguments so that c++ - developers don't complain later. - -2002-05-07 Dan Winship - - * camel-object.c (camel_object_class_cast): Fix a crash in a - g_warning. - -2002-05-07 Not Zed - - * 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 - 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 - - * 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 - - * 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 - - * 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 - - * camel-provider.c (camel_provider_auto_detect): Now takes a - CamelURL argument rather than a GHashTable *settings argument. - -2002-04-29 Not Zed - - * 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 - - * 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 - - - * camel-provider.c (camel_provider_auto_detect): New function to - auto-detect configuration settings. - -2002-04-26 Not Zed - - * 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 - - * providers/smtp/camel-smtp-transport.c (smtp_rcpt): Don't put a - space between the "RCPT TO:" and the "" 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 - - * 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 - - * 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 - - * devel-docs/camel-index.txt: Start of a white-paperish document - describing camel-index and older libibex. - -2002-04-18 Not Zed - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/local/camel-spoold-store.c: Added #include - 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 - - * 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 - - * *.c: Fix callers for api changes to camel-object, mainly - declare_event->add_event, and classfuncs->klass, and a couple - of missing #include '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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-mime-utils.c (uuencode_close): Don't count our filler when - encoding our line-length octet. - -2002-04-05 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/imap/Makefile.am (libcamelimap_la_LDFLAGS): Use - -avoid-version instead of -version-info 0:0:0, and specify - -module. (From Max Horn ). - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - ** 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 - - * providers/local/camel-maildir-summary.c (maildir_summary_check): - Do progress reporting of operations. - (maildir_summary_sync): Same here. - -2002-03-04 Not Zed - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/smtp/camel-smtp-transport.c (smtp_construct): Make - this compile. - -2002-03-05 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-folder-summary.h: Remove the CAMEL_MESSAGE_NEEDS_REPLY - flag, we no longer will be using this. - -2002-02-04 Jeffrey Stedfast - - * 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 - - * camel-mime-utils.c (header_decode_domain): Oops, this was - converting foo@[blah] to foo@[ blah ], fixed. - -2002-01-30 Jeffrey Stedfast - - * providers/pop3/camel-pop3-provider.c: Use "pop" instead of - "pop3" so current configurations continue to work. - -2002-01-30 Not Zed - - * 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 - - * 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 - - * camel-data-cache.c (stream_finalised): Remove the object from - the busy_stream hashtable, not the busy_path hashtable. - -2002-01-29 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * Makefile.am: Remove some old cruft. - -2002-01-24 Ettore Perazzoli - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-mime-filter-basic.c (filter): Fixed slight logic error to - find the uuencode begin line. Fixes bug #18754. - -2002-01-15 Jeffrey Stedfast - - * 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 - - * providers/imap/camel-imap-folder.c (imap_expunge_uids_online): - Move the command-lock outside the loop. - -2002-01-14 Jeffrey Stedfast - - * 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 - - * 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 - - * camel-store-summary.[ch]: New class to store a store's folder - list in. Not yet completed. - -2002-01-11 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/smtp/Makefile.am: Remove the providerdir variable. - - * providers/sendmail/Makefile.am: Same. - -2001-12-17 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - Fixes #17085 - - * camel-charset-map.c: Added #include . - - * camel-charset-map-private.h: - Recreated (following instructions from camel-charset-map.c) - -2001-12-11 Jeffrey Stedfast - - * 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 - - * camel-mime-utils.c (header_content_type_simple): Protect against - either of the types being NULL. - -2001-12-05 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-mime-filter-basic.c: For the uudecoding mode, garble up - the "begin " 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 - - * 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 - - 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 - - * 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 - - 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 - - * 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 - - * 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 - - * camel-store.c (camel_store_get_folder): Added a - g_return_val_if_fail for folder_name != NULL. - -2001-11-08 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-mime-part.c (free_headers): Fix this to match get_headers. - -2001-10-30 Not Zed - - * 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 - - * camel-mime-utils.c (camel_mime_utils_init): Removed unused - variable. - -2001-10-30 Not Zed - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/imap/camel-imap-store.c (unsubscribe_folder): Don't - let fi->name be NULL. - -2001-10-24 Jeffrey Stedfast - - * 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 - - * 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 - - * providers/local/camel-mbox-summary.c: made d(x) x recompile again. - -2001-10-22 Not Zed - - * 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 - - * providers/local/camel-spool-summary.c (summary_rebuild): - s/summarising/summarizing/. - (spool_summary_check): s/summarise/summarize/. - -2001-10-22 Jeffrey Stedfast - - * 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 - - * 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 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 - - * 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 - - * Makefile.am: added $GNOME_INCLUDEDIR to INCLUDES, needed for latest - libgnome, which install headers in $(prefix)/gnome-1.0 - -2001-10-21 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - -2001-10-18 Jeffrey Stedfast - - * camel-pgp-context.c (crypto_exec_with_passwd): Make sure the - cancel_fd isn't -1. - -2001-10-18 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-mime-utils.c (header_address_decode): If no content, dont - try and decode further and spit meaningless warnings. - -2001-10-16 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-charset-map.c (camel_charset_map_init): Added a hack for - Solaris systems. - -2001-10-10 Not Zed - - * providers/local/camel-maildir-store.c (scan_dir): oops, we want - get_unread_message_count, not get_message_count! - -2001-10-09 Not Zed - - * 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 - - * 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 - - * providers/imap/camel-imap-store.c (get_folder_online): Unlock - the store before returning error. (noted by NotZed) - -2001-10-06 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-service.c (camel_service_connect): Unregister the - operation before unreffing it. - -2001-10-03 Not Zed - - * 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 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 - - * 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 - - * providers/local/camel-local-provider.c (local_url_equal): - Strange are the ways of alloca. Fixes 11543. - -2001-10-02 Jeffrey Stedfast - - * camel-tcp-stream-ssl.c (ssl_bad_cert): Import the certificate if - the user accepts it. - -2001-10-02 Not Zed - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * Makefile.am: Fix Ettore's fix. - -2001-09-25 Jeffrey Stedfast - - * 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 - - [Patch for Automake 1.5 compatibility pointed out by Richard - Boulton , 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-store.c (create_folder): Set the exception if - create_folder isn't implemented. - -2001-09-21 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 ' then treat it as - '"name b. name" '. See 8147. - (header_decode_mailbox): Another fix for really broken mailers - that have things that look like addresses followed by
- 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 - - * 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 - - * camel-charset-map.c (camel_charset_to_iconv): Nuke debug warning. - -2001-09-19 Jeffrey Stedfast - - * 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 - - * 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 - - * camel-mime-utils.c: Match mailing-list header List-Owner. - -2001-09-18 Not Zed - - * 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 - - * 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 - 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 - - * 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 - - * 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 - - * camel-charset-map.c: Added korean charset conversion. - -2001-09-17 Jeffrey Stedfast - - * 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 - - * Makefile.am: Helpful install-exec-hook debugging output - -2001-09-16 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * camel-store.c (camel_store_delete_folder): Fixed warnings with a - cast. - (camel_store_rename_folder): " - -2001-09-14 Jeffrey Stedfast - - * 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 - - * 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 - - * Makefile.am: use install hook instead of install rule to - guarantee we run after installation - -2001-09-13 Jeffrey Stedfast - - * 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 - - * camel-filter-driver.c (camel_filter_driver_filter_mbox): free - the source url in the nonfailure case. - -2001-09-12 Not Zed - - * 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 - - * camel-filter-driver.c (camel_filter_driver_filter_mbox): Unref - the message info. - -2001-09-10 Not Zed - - * 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 - - * 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 - - * providers/imap/camel-imap-store.c (camel_imap_msg_new): Forgot - to return the newly allocated msg. - -2001-09-08 Not Zed - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/pop3/camel-pop3-folder.c (pop3_get_message_stream): - Set an exception on POP3_FAIL as well. - -2001-09-06 Dan Winship - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - ["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 - - * 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 - - * Revert Not Zed's previous commits as they apparently can cause - serious data loss for POP3 users. - -2001-08-24 Ettore Perazzoli - - ["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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * Makefile.am: build a static camel for the addressbook conduit - -2001-08-20 Ettore Perazzoli - - * 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 - - * 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 - - * camel-store.h: #include for mode_t on freebsd. - -2001-08-19 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - * camel-pgp-context.c (pgp_verify): Always do --no-auto-key-retrieve. - -2001-08-03 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-url.c (camel_url_free): Allow the url to be NULL just like - the libc free convention. - -2001-07-26 Dan Winship - - * 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 - - * camel-mime-utils.c (mail_mlist_magic): Add another Sender - pattern. - -2001-07-24 Not Zed - - * 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 - - * 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 - - * camel-operation.c (camel_operation_register, unregister): Added - some warnings for bad cases. - -2001-07-23 Not Zed - - * 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 - - * 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 - - * 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 - - * 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 - - * Pull up test fixes to get them building again - -2001-07-20 Not Zed - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * Revert 7/11/2001 patch for IMAP INBOX filtering at NotZed's - request. - -2001-07-17 Peter Williams - - 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 - - * camel-store.c (init_trash): Use CAMEL_VTRASH_NAME. - - * camel-vtrash-folder.h: #define CAMEL_VTRASH_NAME - -2001-07-16 Dan Winship - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-folder.c (camel_folder_copy_messages_to): if source == - dest, just no-op. - -2001-07-05 Peter Williams - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * README (Introduction): Add comment noting that Camel actually - exists now :-) - -2001-07-02 Dan Winship - - * 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 - - * 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 - - * tests/misc/url.c (main): Change a camel_exception_clear to - camel_exception_init to fix a sometimes-crash - -2001-06-29 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * tests/folder/test9.c (main): Updated to match the current API. - - * tests/folder/test3.c: #include 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/smtp/camel-smtp-transport.c (smtp_send): Use - camel_address_length() rather than casting and accessing data - members. - -2001-06-20 Jeffrey Stedfast - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-mime-utils.c: Added Mailing-List header regex so that we - can do mlist magic on that header. - -2001-05-28 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * providers/local/camel-local-provider.c - (camel_provider_module_init): Added spool provider. - -2001-06-07 Jon Trowbridge - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-smime-context.c (camel_smime_context_new): Oops, I spelled - the get-default-db function name wrong. - -2001-05-23 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-mime-part.c (camel_mime_part_set_content_id): Wrap the - content-id with <>'s. - -2001-05-04 Jeffrey Stedfast - - * 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 - - * Makefile.am (libcamelinclude_HEADERS): Fix another build - problem. (Um, anyone else could have done this...) - -2001-05-04 Dan Winship - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * 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 for off_t. - -2001-04-26 Dan Winship - - * 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 - - * 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 - - * camel-service.c (get_host): Use e_gethostbyname_r. - (camel_service_gethost): Remove unused var. - -2001-04-26 Not Zed - - * Applied jacob's patches for e-poolv stuff. - -2001-04-23 Jeffrey Stedfast - - * 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 - - * 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 - - * providers/nntp/Makefile.am (INCLUDES): - Changed GTK_INCLUDEDIR to EXTRA_GNOME_CFLAGS. - -2001-04-20 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-filter-driver.c (camel_filter_driver_filter_message): Fix - a memory leak in the error case. - -2001-04-16 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * camel-cipher-context.c: Check to make sure the context is a - valid context in all the user functions. - -2001-04-13 Jon Trowbridge - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-mime-filter-crlf.c (filter): Fix a pair of array bounds - reads noted by purify - -2001-04-12 Jeffrey Stedfast - - * camel.h: #include the pgp stuff. - -2001-04-12 Dan Winship - - * 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 - - * providers/imap/camel-imap-utils.c (imap_parse_string_generic): - Simplify peterw's imap_is_atom_char fix. - -2001-04-11 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * merge from evolution-0-10-branch to evolution-0-10-merge-0 - -2001-04-03 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * camel-filter-driver.c: marked missing report status' for translation. - -2001-04-02 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - "/", construct a CamelURL and set the path that way - instead. - (get_folders_offline): And again here. - -2001-03-30 Not Zed - - * 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 - - * 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 - - * 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 - - * broken-date-parser.c: #include , and - * broken-date-parser.h: Remove all includes but - * camel-address.h: Added #include - * camel-data-wrapper.c: Move system includes to the top. - * camel-data-wrapper.h: #include - * camel-exception.c: #ifdef HAVE_CONFIG_H - * camel-exception.h: Remove #include - * 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 - * camel-filter-search.c: #ifdef HAVE_CONFIG_H - * camel-folder-search.c: #include - * 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 - * 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 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 - * camel-sasl-cram-md5.c: #ifdef HAVE_CONFIG_H. #include and - 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 - * camel-search-private.c: #include - * 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 - * 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 - * 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 - * camel-vee-store.h: Same here - * camel.c: #ifdef HAVE_CONFIG_H - * gstring-util.c: Here too - * hash-table-utils.c: Remove #include - * 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 - * 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 - * 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 - * 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 - - * 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 - - * 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 - - * camel-filter-driver.c: Added #include . Marked - a bunch of strings for translation. - * camel-folder-search.c: Added #include . - * camel-folder-summary.c: Same here. - * camel-movemail.c: Marked strings for translation. - * camel-provider.c: Same here. - * camel-search-private.c: #include - * camel-vee-folder.c: Mark string for translation. - * providers/local/camel-mbox-summary.c: #include - -2001-04-03 Dan Winship - - * 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 - - * 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 - "/", construct a CamelURL and set the path that way - instead. - (get_folders_offline): And again here. - -2001-03-31 Not Zed - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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..." rather than the expected - "+OK ### octets\r\n..." - -2001-03-27 Not Zed - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * Makefile.am (INCLUDES): Added $(EXTRA_GNOME_CFLAGS) - -2001-03-19 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * providers/local/camel-maildir-summary.c (maildir_summary_sync): - Modified patch from Dan Berger 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 - - * 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 - - * camel-private.h: Same. - - * camel-remote-store.h: Fixed #include to use <>'s instead of ""'s - -2001-03-16 Jeffrey Stedfast - - * 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 - - * providers/pop3/camel-pop3-folder.c: Added #include - -2001-03-16 Dan Winship - - * camel-mime-utils.c (header_msgid_generate): Don't use - getdomainname: it's NIS crap, not DNS. - -2001-03-15 Jeffrey Stedfast - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-mime-utils.c: Check for a new type of mailing list header. - -2001-03-13 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-store.c (init_trash): Rename the folder to "Trash" and - i18nify it. - -2001-03-09 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - 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 - - * 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 - - * 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 - - * camel-sasl-digest-md5.c (compute_response): Redone so as to save - on memory allocations and speed. - -2001-03-05 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-url.c (camel_url_new): Assert url_string != NULL. - -2001-02-28 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/imap/camel-imap-folder.c (fetch_medium): Fixes for - IMAP4-pre-rev1 from Torsten Schulz. - -2001-02-20 Not Zed - - * 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 - - * 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 - - * 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 - - * providers/vee/camel-vee-folder.c (vee_folder_add): Check uid - doesn't exist before adding it. - -2001-02-16 Not Zed - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-tcp-stream-ssl.c: Oops, include the camel-tcp-stream-ssl - header instead of the raw one. - -2001-02-07 Not Zed - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-stream-fs.c: Added a missing #include. - - * camel-search-private.c: Added a missing #include. - -2001-02-05 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * camel-stream-filter.c (do_write): Make do_write loop until the - entire buffer is written. - -2001-02-02 Not Zed - - * 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 - - * camel-mime-utils.c (header_fold): If we are folding, drop the - space at the end of the line. - -2001-01-30 Not Zed - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/imap/camel-imap-folder.c (camel_imap_folder_selected): - Initialize the value of the variable exists here. - -2001-01-22 Not Zed - - * .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 - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/smtp/camel-smtp-provider.c: Mark strings for translation. - -2001-01-19 Not Zed - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * providers/Makefile.am (NNTP_DIR): set to nntp if ENABLE_NNTP - (SUBDIRS): use $(NNTP_DIR) - -2001-01-16 Jeffrey Stedfast - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * providers/imap/camel-imap-folder.c (camel_imap_folder_new): Lock - around the imap_rescan, which needs it. - -2001-01-15 Not Zed - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-stream-ssl.[c,h]: New stream for handling SSL/TLS - connections. - -2001-01-12 Not Zed - - * 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 - - * 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 - - * 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 - - * providers/local/camel-local-provider.c: Changed the descriptions - for mh, mbox, and maildir to be more "user-friendly". - -2001-01-10 Dan Winship - - * 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 - - * 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 - - 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 - - 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 - - * 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 - - * 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 - - * providers/imap/camel-imap-folder.c (imap_rescan): Fix two - problems in figuring out server-expunged messages. - -2001-01-04 Not Zed - - * camel-folder.c (thaw): If we have a lot of messages changed, - promote it to a folder changed event. - -2000-01-03 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * providers/maildir/, providers/mbox/, providers/mh/: Removed - these directories since they're unused. - -2001-01-02 Dan Winship - - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * Namespace cleanup: change a bunch of IS_CAMEL_* macros to - CAMEL_IS_* - -2000-12-13 Chris Toshok - - * providers/imap/camel-imap-auth.c: add #include for - freebsd. - -2000-12-12 Christopher James Lahey - - * 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 . - - * 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 - - * tests/lib/Makefile.am: Add missing .h file. (From campd.) - -2000-12-11 Not Zed - - * 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 - - * tests/message/Makefile.am: Remove test3 from build until the files - show up - -2000-12-09 Not Zed - - * 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 - - * tests/lib/camel-test.h (check): Change line no format so that - emacs can detect it. - -2000-12-06 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-exception.c (camel_exception_setv): Remove unused - variable. - -2000-11-30 Not Zed - - * 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 - - * camel-store.c (camel_store_get_folder): Updated the gtk-doc - comment. - -2000-11-29 Dan Winship - - * 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 - - * tests/lib/Makefile.am (INCLUDES): `$(top_srcdir)' for builddir - != srcdir compilation. - -2000-11-29 Not Zed - - * 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 - - * camel-lock.c: No longer hard code the enabled lock types - -2000-11-28 Dan Winship - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/local/camel-local-summary.c - (local_summary_decode_x_evolution): add scan = scan->next; to - avoid infinite loop - -2000-11-27 Dan Winship - - * 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 - - * providers/local/.cvsignore: shush - -2000-11-27 Not Zed - - * providers/Makefile.am: Removed mh, mbox, added local, to the default. - -2000-11-24 Not Zed - - * 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 - - * 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 - - * camel-mime-utils.c (header_msgid_generate): check for return - values - -2000-11-21 Dan Winship - - * camel-lock.c: - * camel-movemail.c: add #ifdef HAVE_ALLOCA_H - -2000-11-21 Not Zed - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-mime-utils.c: mime_guess_type_from_file_name moved back to - composer as it introduced unwanted VFS dependency - removed #include - -2000-11-15 Not Zed - - * providers/Makefile.am: Removed local again, not quite ready. - -2000-11-14 Not Zed - - * 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 - - * 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 - - * 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 - - * camel-stream.c (camel_stream_printf): Don't cast an int to a - ssize_t. - -2000-11-10 Dan Winship - - * 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 - - * camel-mime-utils.c (header_msgid_generate): fix ids ending with '.' - -2000-11-09 Dan Winship - - * 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 - - * camel-mime-utils.c (mime_guess_type_from_file_name): new - function, moved from composer - -2000-11-08 Not Zed - - * 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 - - * 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 - - * camel-stream-filter.c (d): Kill debugging, as it causes lots of - evolution-mail spewage. - -2000-11-07 Not Zed - - * 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 - - * 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 - - * 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 - - * camel-mime-utils.c (header_msgid_generate): new function, - generates simple message/content id - -2000-11-04 Not Zed - - * 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 - - * camel-url.c: Undo my incorrect fix - I misunderstood danw - - sorry! - -2000-11-03 Dan Winship - - * providers/pop3/camel-pop3-store.c (camel_pop3_store_expunge): - Unbreak this. - -2000-11-03 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * Merged in camel-incremental-branch. - -2000-11-01 Dan Winship - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/imap/camel-imap-store.c (unsubscribe_folder): Correct - parameters to g_hash_table_lookup_extended. - -2000-10-29 Dan Winship - - 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 - - * 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 - - * 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 - - * 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 - - * camel-exceptions-list.def: Add newline to kill warnings. - -2000-10-25 Dan Winship - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/nntp/Makefile.am (libcamelnntpinclude_HEADERS): add - camel-nntp-types.h. - -2000-10-23 Dan Winship - - * 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 - - * providers/Makefile.am (SUBDIRS): re-enable the nntp provider. - -2000-10-20 Chris Toshok - - * 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 - - * camel-folder-search.c: #include before - -2000-10-19 Dan Winship - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-folder.c (camel_folder_change_info_add_update): Fixed the - changeset logic, which was completely wrong. - -2000-10-27 Not Zed - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-mime-filter-charset.c (complete): Put a zero at the start - of the outbuf. - -2000-10-18 Not Zed - - * 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 - - * 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 - - * camel-mime-part.c (set_header): Encode the header value. - (add_header): Same. - -2000-10-17 Not Zed - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/imap/camel-imap-store.c - (parse_list_response_as_folder_info): Check before dereferencing the - sep pointer. - -2000-10-10 Jacob "Ulysses" Berkman - - * camel-*.c: teach camel about "its" vs. "it's" - -2000-10-09 Chris Toshok - - * 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 - - * camel-folder-summary.c (camel_summary_format_address): Decode - the resulting string. - -2000-10-06 Chris Toshok - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/nntp/camel-nntp-provider.c - (camel_provider_module_init): news: -> nntp:. - -2000-10-04 Chris Toshok - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/smtp/camel-smtp-transport.c (_send_to): Use the - CamelInternetAddress parser. - (smtp_get_email_addr_from_text): deprecated. - -2000-10-02 Dan Winship - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-mime-utils.c (header_fold): New function to fold headers. - -2000-09-27 Not Zed - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/nntp/camel-nntp-auth.c, - providers/nntp/camel-nntp-auth.h: Fixed a warning. - -2000-09-07 Dan Winship - - * camel-session.c (camel_session_get_storage_path): Make this not - leak. - -2000-09-07 Dan Winship - - * 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 - - * providers/pop3/camel-pop3-store.c (connect_to_server): Make KPOP - work again. - -2000-09-06 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-folder-search (search_header_contains): Use e_utf8_strstrcase - -2000-09-01 Christopher James Lahey - - * providers/imap/camel-imap-utils.c: Removed some unused - functions. - -2000-09-01 Peter Williams - - * 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 - - * 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 - - * 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 - - * camel-mime-part.c (write_to-stream): Use filter only if we have one - -2000-08-31 Chris Toshok - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/imap/camel-imap-store.c: General cleanup / moving - stuff around to make things easier to follow. - -2000-08-30 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/mbox/camel-mbox-summary.c (camel_mbox_summary_sync): - Never ever free `tmpname' as it comes from `alloca()'! - -2000-08-26 Ettore Perazzoli - - * camel-mime-utils.c (header_decode_text): Use `g_free()', not - `free()', to free `decword'. - -2000-08-25 Peter Williams - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-mime-utils.c (header_address_list_format_append): put - commas between addresses. - -2000-08-22 Dan Winship - - * 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 - - * providers/pop3/camel-pop3-store.c: Fixed a small warning. - -2000-08-22 Peter Williams - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/imap/camel-imap-folder.c (imap_copy_message_to): Typo fix. - -2000-08-14 Peter Williams - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/imap/camel-imap-store.c (query_auth_types): No longer - calls try_connect() to get authtypes - -2000-08-11 Jeffrey Stedfast - - * 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 - - * 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 - - * providers/mh/camel-mh-folder.c: Fixed a warning. - -2000-08-11 Chris Toshok - - * 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 - - * 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 - - * camel-folder.c (thaw): Fix a bug where the message_changed - signal wasn't being emitted. - -2000-08-11 Not Zed - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-folder.c (camel_folder_free_deep): Fix this to not require - NULL-termination of the array. - -2000-08-04 Jeffrey Stedfast - - * 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 - - * 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 - - * camel-store.h: Include camel-object.h. Ettore said this wasn't - compiling. - -2000-08-04 Not Zed - - * 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 - - * 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 - - * 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 - - * providers/nntp/Makefile.am (INCLUDES): Add -I$(top_srcdir) to - pull in libibex/ibex.h - -2000-08-02 Not Zed - - * 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 - - * 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 - - * 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 - - * providers/mh: New mh provider implementation. - - * providers/Makefile.am (SUBDIRS): Added mh provider. - -2000-07-31 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/*/Makefile.am: Don't specify SUBDIRS = - [nothing]. Messes up distcheck. - -2000-07-26 Peter Williams - - * 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 - - * 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 - - * 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 - - * providers/imap/camel-imap-folder.c (imap_summary_free): Fixed the - real problem that Peter was running into. - -2000-07-25 Dan Winship - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-object.c (camel_object_unref): Add a new global mutex - 'refcount' held when refcounting operations occur. - -2000-07-19 Peter Williams - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - Chris forgot to add #include 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 - - * 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 - - * 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 , - (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 - - * 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 - - * 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 - - * 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 - - * 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/ 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-folder-summary.c (camel_folder_summary_decode_string): - Oops, an unsigned integer can never be < 0 - -2000-07-10 Dan Winship - - * 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 - - * camel-folder-summary.c: Cleaned up a bunch of compile warnings - -2000-07-10 Dan Winship - - * providers/vee: kill more debugging messages - -2000-07-10 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/smtp/camel-smtp-transport.c (esmtp_get_authtypes): - Fixed the parser to actually work - -2000-07-06 Dan Winship - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-folder-summary.c (camel_folder_summary_set_uid): Removed. - -2000-07-03 Dan Winship - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/mbox/camel-mbox-summary.c: Added debugging - information. - -2000-06-23 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/pop3/camel-pop3-store.c (query_auth_types): Fix dumb - bug. - -2000-06-21 Jeffrey Stedfast - - * 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 - - * 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 - - * camel-folder-summary.c (message_info_new): Set date_received - based on the first (most recent) "Received" header. - -2000-06-20 Dan Winship - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/imap/camel-imap-folder.c (imap_init): Should now - correctly do CAPABILITY. - -2000-06-17 Dan Winship - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-session.c: Don't ref the services in the cache. - -2000-06-02 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * providers/imap/camel-imap-folder.c: Implemented a few more - methods like imap_append and 1 or 2 others - -2000-05-29 Not Zed - - * 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 - - * 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 - - * 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 `"" ' for email addresses with no - name component. - -2000-05-27 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/vee/camel-vee-folder.c (vee_folder_build_folder): - Update the vfolder details for a single folder. - -2000-05-25 Jeffrey Stedfast - - * 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 - - * camel.h: Re-add camel-simple-data-wrapper.h, which was removed - for some reason. - -2000-05-24 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/smtp/camel-smtp-transport.c: (smtp_helo): Error - checking on gethostbyaddr() eliminating a possible segfault. - -2000-05-16 NotZed - - * providers/mbox/camel-mbox-folder.c (mbox_delete_message_by_uid): - Implement. - -2000-05-12 NotZed - - * 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 - - * 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 - - * 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 - - * providers/smtp/camel-smtp-transport.c: Added some preliminary - AUTH support. - -2000-05-15 Dan Winship - - * camel-folder.h: Remove camel_folder_get_summary, which no longer - exists. - -2000-05-11 Dan Winship - - * 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 - - * providers/mbox/camel-mbox-folder.c (message_changed): Indicate - the summary changed also. - -2000-05-11 Jeffrey Stedfast - - * providers/smtp/camel-smtp-transport.c: (smtp_helo): - Updated to more closely comply with RFC 821 standards - -2000-05-11 NotZed - - * 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 - - * camel-folder-summary.c (camel_folder_summary_finalise): Free - summary items and charset filters. - -2000-05-10 NotZed - - * 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 - - * providers/smtp/camel-smtp-transport.c: (camel_smtp_transport_class_init): - Added initialization for service_class - -2000-05-10 Dan Winship - - * 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 - - * Makefile.am: Added camel-types.h, camel-folder-pt-proxy.h, and - camel-thread-proxy.h. - -2000-05-09 Dan Winship - - * 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 - * 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 - - * 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 - - * providers/mbox/camel-mbox-folder.c (mbox_get_message_by_uid): - one more refcounting fix I missed before. - -2000-05-08 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - 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 in header files rather than , "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 - - * 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 - - * 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 - - * 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 - - * camel-mime-filter.c (filter_run): Oops, forgot to add the - backlen to the pre-buffer (*poof*). - -2000-05-07 NotZed - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * Makefile.am (INCLUDES): add $(UNICODE_CFLAGS) to the INCLUDES, - people who installed libunicde in non-standard include paths need - this. - -2000-05-03 NotZed - - * 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 - - * camel-mime-utils.c (header_decode_date): fix typo when - dereferencing saveoffset. - -2000-05-02 NotZed - - * 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 - - * 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 - - * 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 - - * camel-mime-part-utils.c - (simple_data_wrapper_construct_from_parser): Dont use autofill on - these fucking long function anmes!!!!!! - -2000-05-02 NotZed - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-mime-parser.c (folder_scan_header): fix a bug that would - cause corruption with very long headers. - -2000-04-27 Ettore Perazzoli - - * providers/pop3/Makefile.am (INCLUDES): Add `-I$(srcdir)/../../..' - to pick the Camel includes. - * providers/sendmail/Makefile.am (INCLUDES): Likewise. - - * camel.h: Don't #include anymore. - -2000-04-27 NotZed - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-mime-utils.c (header_to_decode, header_mime_decode): fix - some obvious minor bugs noted by -Wall. - -2000-04-23 NotZed - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/mbox/camel-mbox-utils.[ch]: Removed. - - * providers/mbox/camel-mbox-parser.[ch]: Removed. Removed - references to it. - -2000-04-20 Dan Winship - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * providers/Makefile.am (SUBDIRS): add nntp - -2000-04-14 Christopher James Lahey - - * providers/mbox/camel-mbox-folder.c: Fix switch statement. - -2000-04-14 Chris Toshok - - * 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 - - * 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 - - * camel-folder-pt-proxy.c (_folder_open_cb): Print warning message - for broken function. - (_folder_close_cb): Same. - -2000-04-12 Miguel de Icaza - - * Makefile.am (pthread_SRC): Use correct names for the pthread - source variables. - -2000-04-10 Dan Winship - - * 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 - - * providers/smtp/camel-smtp-transport.c: reformatted to fit - the standard indent format used by helix code - -2000-04-09 Dan Winship - - * 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 - - * providers/smtp/.cvsignore: Added a .cvsignore file. - -2000-04-08 Dan Winship - - * 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 - for MAXHOSTNAMELEN. (This is a stopgap: some of the uses of - MAXHOSTNAMELEN are wrong anyway...) - -2000-04-07 Jeffrey Stedfast - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * camel-formatter.c (text_to_html): Added "convert_newlines_to_br" - boolean param, to give the option of not converting '\n's to
- tags. This way, when we stick stuff in a
 tag, newlines stay
-	newlines.
-
-2000-03-30  Matt Loper  
-
-	* camel-formatter.c (handle_text_plain): Use 
 tag to force
-	the use of monospaced fonts.
-
-2000-03-30  Dan Winship  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* providers/mbox/camel-mbox-provider.c: Added flag to provider
-	initialisation, to match changed structure.
-
-2000-03-22  NotZed  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* camel-formatter.c (debug): Disabled some useless debug
-	messaging.
-
-2000-03-21  Dan Winship  
-
-	* providers/pop3: some initial bits of the POP3 provider, to
-	make Matt happy. Incomplete, untested, etc.
-
-2000-03-21  bertrand  
-
-	* 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  
-
-	* camel-service.h: cosmetic changes.
-
-2000-03-09  Dan Winship  
-
-	* s/HelixCode/Helix Code, Inc./ in the copyrights
-
-2000-03-07  bertrand  
-
-	* 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  
-
-	* camel-stream-fs.c (_seek): fix a bogus calculation
-	in the return position.
-
-2000-03-05  bertrand  
-
-	* 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  
-
-	* providers/mbox/camel-mbox-search.c
-	(camel_mbox_folder_search_by_expression): Ref the summary
-	after we have got it.
-
-2000-03-04  bertrand  
-
-	* 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  tag.
-	(get_bonobo_tag_for_object): the correct syntax for the
-	to set a parameter inside an  tag is :
-	  
-	
-
-2000-03-03  bertrand  
-
-	* 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  
-
-	* providers/mbox/camel-mbox-utils.c (camel_mbox_write_xev): Make
-	sure we open with create with a creation mask.
-
-2000-03-01  NotZed  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* camel-stream-b64.c (my_read_encode): encoding
-	filter.
-
-2000-02-23  bertrand  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* providers/mbox/camel-mbox-search.c: Dont compile by default.
-
-	* providers/mbox/Makefile.am: Fuck off the filter code.
-
-2000-02-22  bertrand  
-
-	* 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  
-
-	* 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  
-
-	* camel-seekable-substream.c (_reemit_parent_signal): 
-	emit "data_available" when parent stream emits it. 
-
-2000-02-21  NotZed  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* providers/mbox/Makefile.am: add libibex back to
-	libcamelmbox_la_LIBADD
-
-2000-02-18  NotZed  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* camel/url-util.c (g_url_to_string): New function to convert
-	a Gurl back into a char *.
-
-2000-02-17  bertrand  
-
-	* 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  
-
-	* 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  
-
-	* providers/mbox/Makefile.am (libcamelmbox_la_LIBADD): Added
-	libfilter to link line (temporarily?).  Required for
-	filter-sexp.
-
-2000-02-15  bertrand  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* camel-folder.h: Add folder search functions.
-
-	** Created ChangeLog just for camel **
-	 - refer to ../ChangeLog for changes prior to this date.
diff --git a/camel/Makefile.am b/camel/Makefile.am
index ac860ea..07580f6 100644
--- a/camel/Makefile.am
+++ b/camel/Makefile.am
@@ -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
index 9ade1be..0000000
--- a/camel/providers/groupwise/ChangeLog
+++ /dev/null
@@ -1,1972 +0,0 @@
-2009-04-24  Milan Crha  
-
-	** 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  
-
-	
-	* camel/providers/groupwise/camel-groupwise-store.c: Removed
-	the string marked for translation.
-
-2009-04-13  Chenthill Palanisamy  
-
-	Fixes #471083 (bnc)
-	* camel/providers/groupwise/camel-groupwise-store.c: Sets the
-	System folder flag for system folders.
-
-2009-03-19  Chenthill Palanisamy  
-
-	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  
-
-	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  
-
-	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  
-
-	* camel/providers/groupwise/camel-groupwise-folder.c:
-	Some help comments for the future maintainers
-	Not an API doc
-
-2009-01-28  Sankar P  
-
-	** 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  
-
-	** 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  
-
-	** Patch committed on behalf of Simon Brys 
-
-	** Fix for bnc bug #463095
-
-	* camel-groupwise-summary.c (content_info_from_db):
-	Fix cinfo parsing logic
-
-2009-01-15  Sankar P  
-
-	* 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  
-
-	** 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  
-
-	** Fix for bnc bug #458127
-
-	* camel-groupwise-provider.c: Keyboard shortcut for
-	SOAP port in Evolution setup assistant.
-
-2009-01-02  Sankar P  
-
-	** 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  
-
-	** Patch committed on behalf of Simon Brys 
-
-	** 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  
-
-	** Patch committed on behalf of Simon Brys 
-
-	** Fix for bnc bug #448079
-
-	* camel/providers/groupwise/camel-groupwise-folder.c:
-	Use correct parameters.
-
-2008-12-26  Sankar P  
-
-	* camel/providers/groupwise/camel-groupwise-folder.c:
-	Sssshhhh the compiler warnings
-
-2008-12-26  Sankar P  
-
-	** Fix for bnc bug #209514
-
-	* camel/providers/groupwise/camel-groupwise-folder.c:
-	Addresses some missing mails issues. Optimization fixed.
-
-2008-12-23  Sankar P  
-
-	** 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  
-
-	** 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  
-
-	* camel-groupwise-folder.c (gw_update_cache):
-	Avoid invalid reads by validating optional fields 
-
-2008-10-31  Sankar P  
-
-	** 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  
-
-	** 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  
-
-	** Fix for bug #553148
-
-	* camel-groupwise-store.c (groupwise_rename_folder): Standardise
-	"GroupWise" usage in translatable strings.
-
-2008-10-14  Srinivasa Ragavan  
-
-	** Fix for bug #552261
-
-	* camel-groupwise-summary.c: Include camel-db.h
-
-2008-09-25  Milan Crha  
-
-	** Part of fix for bug #337479
-
-	* camel-groupwise-store.c: (groupwise_auth_loop):
-	Do not use uninitialized variables.
-
-2008-09-24  Milan Crha  
-
-	** 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  
-
-	* camel-groupwise-store.c (groupwise_folders_sync):
-	Fix a leak. Part of bgo #523103
-
-2008-08-06  Matthew Barnes  
-
-	** Fixes part of bug #545877
-
-	* camel-groupwise-journal.c:
-	* camel-groupwise-journal.h:
-	Use CamelDList instead of EDList.
-
-2008-08-06  Srinivasa Ragavan  
-
-	* camel/providers/groupwise/camel-groupwise-folder.c: Mark summary
-	dirty when it is.
-
-2008-08-01  Matthew Barnes  
-
-	* camel-groupwise-store-summary.c:
-	Remove unnecessary  include.
-
-2008-07-31  Sankar P  
-
-	* camel-groupwise-summary.c (gw_info_set_flags):
-	Fix (un)read, deleted count issues.
-
-2008-07-28  Srinivasa Ragavan  
-
-	* camel/providers/groupwise/camel-groupwise-journal.c: Fix uid/pstring
-	issues.
-
-2008-07-22  Sankar P  
-
-	* 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  
-
-	* camel-groupwise-journal.c:
-	* camel-groupwise-summary.c:
-	#include "camel-string-utils.h"
-
-2008-07-21  Srinivasa Ragavan  
-
-	** 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  
-
-	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  
-
-	* camel-groupwise-store.c (convert_to_folder_info): Marking this
-	function as static.
-
-2008-05-19  Matthew Barnes  
-
-	** 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	** 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  
-
-	** Fixes #182380 (bnc)
-	Message classification and security cannot be viewed
-
-	* camel-groupwise-folder.c: (groupwise_folder_item_to_msg):
-
-2008-04-16  Sankar P  
-
-	* camel-groupwise-folder.c: (update_update):
-	Free memory even on error conditions. Fix the
-	memory leak.
-
-2008-04-01  Sankar P  
-
-	** 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  
-
-	** Fixes part of bug #518710
-
-	* camel-groupwise-store-summary.c:
-	Remove unneeded inclusion of .
-
-2008-03-25  Sankar P  
-
-	* 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  
-
-	** 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  
-
-	** 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  
-
-	* Makefile.am: Add E_DATA_SERVER_CFLAGS/LIBS to make it build.
-
-2008-02-18  Chenthill Palanisamy  
-
-	* camel-groupwise-folder.c (groupwise_transfer_messages_to): Fixes
-	some warnings. Fix from downstream opensuse.								     
-
-2008-02-18  Chenthill Palanisamy  
-
-	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  
-
-	** 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  
-
-	** Part of fix for bug #395939
-
-	* camel-groupwise-store.c: (groupwise_forget_folder): Memory leak fix.
-
-2008-01-22  Milan Crha  
-
-	** 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  
-
-	* 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  
-
-	* camel-groupwise-folder.c:
-	* camel-groupwise-transport.c:
-	* camel-groupwise-utils.c: Remove unused libsoup includes
-
-2007-12-06  Sankar P  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** Merge a bunch of compiler warning fixes and cosmetic
-	   cleanups from camel-lite.
-
-2007-09-29  Kjartan Maraas  
-
-	* 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  
-
-	** 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  
-
-	** Fix for bug #473880
-
-	* providers/groupwise/camel-groupwise-folder.c:
-	(groupwise_msg_set_recipient_list): Fixes serious compiler warning.
-
-2007-09-03  Sankar P  
-
-	** 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  
-	
-	** Fix for bug #464636
-
-	* Committed on behalf of Ashish 
-
-	* camel-groupwise-folder.c: (gw_update_cache), (gw_update_summary):
-	Sender field does not display anything.
-
-2007-08-16  Milan Crha  
-
-	** Part of fix for bug #350539
-
-	* camel-groupwise-utils.c: (do_multipart):
-	Ensures non-NULL part.
-
-2007-07-30  Sankar P  
-
-	* 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  
-
-	* 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  
-
-	* camel-groupwise-provider.c: Fix fo bug #347326 from Ebby Wiselyn
-
-2007-05-07  Matthew Barnes  
-
-	* camel-groupwise-folder.c:
-	* camel-groupwise-store.c:
-	Fix warnings reported by 'sparse'.  Patch from Kjartan Maraas.
-
-2007-04-03  Sankar P  
-
-	* 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  
-
-	* camel-groupwise-store.c:
-	Disable unused functions.  Patch from Kjartan Maraas.
-
-2007-03-29  Matthew Barnes  
-
-	* camel-groupwise-utils.c:
-	Fix "incompatible pointer type" warnings (#360619).
-
-2007-03-26  Matthew Barnes  
-
-	* camel-groupwise-folder.c:
-	* camel-groupwise-utils.c:
-	Don't mix declarations and code (#405495).
-	Patch from Jens Granseuer.
-
-2007-03-16  Matthew Barnes  
-
-	** Fixes part of bug #360240
-
-	* camel-groupwise-folder.c (gw_update_cache), (gw_update_summary):
-	Remove unused variables.
-
-2007-02-23  Matthew Barnes  
-
-	** 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* camel-groupwise-utils.[ch]:
-	Added support for security-classification in GW send-options.
-
-2006-07-06  Parthasarathi Susarla 
-	
-	* 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 
-	
-	* camel-groupwise-utils.c: (camel_groupwise_util_item_from_message):
-	fix compiler warnings
-
-2006-07-05  Parthasarathi Susarla 
-	
-	** 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 
-	
-	** 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  
-
-	* camel-groupwise-folder.c: 
-	changing "cancelled" to "canceled" in user-visible strings.
-	Fixes bug #342163.
-
-2006-06-13  Andre Klapper 
-
-	* camel-groupwise-store.c:
-	changing "couldn't", "can't" and "didn't" to proper
-	English. Fixes bug #342160.
-
-2006-06-13  Parthasarathi Susarla 
-	
-	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 
-	
-	Fixes bug #166265 on bnc
-	
-	* camel-groupwise-folder.c: call purgeRequest when
-	deleting on Trash folder
-
-2006-06-09  Sankar P  
-
-	* camel-groupwise-folder.c:
-	Fixes the problem of email id appearing twice
-	
-2006-06-09  Chris Heath  
-
-	* camel-groupwise-journal.c (update_cache): Fix memory leak.
-	Fixes bug #335423.
-
-2006-06-06  Jeffrey Stedfast  
-
-	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  
-
-	* camel-groupwise-folder.c: (groupwise_refresh_folder)
-	Uses readCursor on trash so that we get all items
-
-2006-05-17  Sankar P  
-
-	* camel-groupwise-folder.c:
-	Notify the user if the Trash is overflowing
-
-2006-04-28  Sankar P  
-
-	* 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  
-
-	* camel-groupwise-folder.c: 
-	Removes multiple items by a single call instead
-	of deleting one-by-one.
-
-2006-04-22  Sankar P  
- 
- 	* 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 
-	
-	** See bug 167640 on bnc
-	* camel-groupwise-store.c: Add space at the end of a string.
-
-2006-04-20  Sankar P  
-
-	* 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  
-
-	* camel-groupwise-folder.c: (groupwise_sync):
-	Corrected an erroneous commit.
-	
-2006-04-17  Sankar P  
-
-	* camel-groupwise-folder.c: (groupwise_refresh_folder)
-	Sync up the flags before updating the changes.
-
-2006-04-06 Parthasarathi Susarla  
-
-	* 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 
-
-	* camel-groupwise-store.c :
-	Sync up changes before gettting the folder-list
-
-2006-04-03  Sankar P  
-
-	* 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  
-	
-	* 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 
-	
-	* camel-groupwise-folder.c: (groupwise_item_folder_to_msg):
-	Set content type, so that it does not crash
-	
-2006-03-23  Sankar P  
-
-	* camel-groupwise-folder.c:
-	(groupwise_refresh_folder):
-	Sync up externally deleted items only on arrival of New items 
-
-2006-03-23  Parthasarathi Susarla 
-	
-	* 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 
-	
-	* 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 
-	
-	* 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 
-	
-	* 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  
-
-	* 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 
-	
-	* 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 
-	
-	* 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  
-
-	* 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 
-	
-	* 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 
-	
-	* 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 
-	
-	** 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 
-	
-	* 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 
-	
-	* 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 
-
-	* camel-groupwise-transport.c: fixed a typo and improved an
-	error message. Fixes bug 325657.
-
-2006-01-12  Parthasarathi Susarla 
-	
-	* 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 
-	
-	* 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 
-	
-	** 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  
-
-	* camel-groupwise-store.c
-	* camel-groupwise-utils.c: Use gstdio wrappers. Use GDir instead
-	of dirent API.
-
-2005-12-09  Parthasarathi Susarla 
-	
-	** 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 
-	
-	* 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  
-
-	* 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 
-
-	* camel-groupwise-store.c (groupwise_connect): Uncomment
-	code which previously fixed offlining code.
-	
-2005-11-09  Sankar P  
-
-	* camel-groupwise-transport.c (groupwise_send_to):
-	Added code to handle the Quota errors.
-	Fixes #314476
-	
-2005-11-07  Parthasarathi Susarla 
-	
-	** 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 
-
-	* 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 
-	
-	**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 
-	
-	** 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 
-	
-	* camel-groupwise-store.c: (get_folder_info)
-	remove env check GROUPWISE_SHARED_FOLDER
-	to enable shared folder functionality
-
-2005-09-28  Sankar P  
-
-	* 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 
-	* 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 
-	
-	* camel-groupwise-folder.c :(update_junk_list)
-	initialize variables email and from.
-	**Fixes #314942
-
-2005-09-18  Parthasarathi Susarla 
-	
-	* 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 
-	
-	** 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 
-	
-	* 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 
-	
-	* camel-groupwise-store.c: (groupwise_create_folder):
-	Does not allow creating subfolders under system folder
-
-2005-09-15  Parthasarathi Susarla 
-	
-	* 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 
-	
-	* 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 
-
-	** 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 
-	
-	* 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 
-	
-	** 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 
-	
-	* camel-groupwise-folder.c:
-	(groupwise_folder_item_to_msg): show multipart/signed and
-	multipart/encrytepd messages
-
-2005-08-24  Sankar P  
-
-	* 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 
-	
-	** 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  
-
-	* 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 
-	
-	* 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 
-	
-	* camel-groupwise-store.c: (get_folder_info)
-	change SHARED_FOLDER to GROUPWISE_SHARED_FOLDER
-	to be specific
-
-2005-08-22 Vivek Jain 
-	
-	* camel-groupwise-folder.c:(update_junk_list)
-	check if 'from' or email is NULL
-	return otherwise
-
-2005-08-22 Vivek Jain 
-	
-	* 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 
-	
-	* camel-groupwise-store.c:
-	(groupwise_get_folder_info): Set Junk icon for Junk Mail
-	folder
-
-2005-08-19  Parthasarathi Susarla 
-	
-	** 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 
-	
-	** see bug #312184
-
-	* camel-groupwise-folder.c:
-	(gw_update_cache): show signatures inline.
-
-2005-08-18 Vivek Jain 
-	
-	* 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 
-	
-	** 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 
-	
-	** 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 
-	
-	* 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  
-
-	* Makefile.am: Use NO_UNDEFINED. Link with libcamel-provider,
-	libcamel and CAMEL_LIBS.
-
-2005-08-11  Parthasarathi Susarla 
-	
-	* 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 
-	
-	** see bug 300797
-	
-	* camel-groupwise-folder.c: (groupwise_refresh_folder):
-	handle an error. 
-
-2005-08-09  Parthasarathi Susarla 
-	
-	** see bug #312857
-
-	* camel-groupwise-folder.c: (groupwise_refresh_folder):
-	update summary only if there are new/modified items
-
-2005-08-09 Vivek Jain 
-	
-	* 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 
-
-	* 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 
-	
-	patch by:
-	(2005-04-17  Changwoo Ryu  )
-	** 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 
-	
-	* 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 
-
-	* 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 
-	
-	* camel-groupwise-folder.c: 
-	(gw_update_all_items): compare item id only until the 
-	first '@'. Fixes bug 311585
-
-2005-08-03  Parthasarathi Susarla 
-	
-	* 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 
-
-	* 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 
-	
-	* 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 
-	
-	* 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  
-	
-	* 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 
-	
-	* 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 
-	
-	* camel-groupwise-store.c:
-	formatted code, issues in coding style.
-
-2005-07-29  Parthasarathi Susarla 
-	
-	* 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 
-
-	* 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 
-	
-	* 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  
-
-	* 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 
-	
-	* 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 
-	
-	* camel-groupwise-folder.c: (groupwise_folder_item_to_msg)
-	fix a crash freeing attachment buffer
-
-2005-07-24  Parthasarathi Susarla 
-	
-	* camel-groupwise-provider.c:
-	  string changes made. ** Fixes bug 272505
-
-2005-07-20  Parthasarathi Susarla 
-	
-	* camel-groupwise-folder.c:
-	  ** Fix for bug ** 310953
-
-2005-07-19  Chenthill Palanisamy  
-
-	* camel-groupwise-folder.c: (convert_to_calendar): Use the
-	recurrence key as the UID if it is non-zero.
-
-2005-07-19  Parthasarathi Susarla 
-	
-	* camel-groupwise-store.c: 
-	(does_folder_exist): checks if a folder exists or not
-	** Fixes bug 310716
-
-2005-07-19  Shreyas Srinivasan 
-
-	* camel-groupwise-store.c: Remove some redundant code in 
-	groupwise_get_folder which was crashing evolution on Mac. 
-	
-2005-07-10  Shreyas Srinivasan 
-
-	* 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 
-	
-	* 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 
-	
-	* 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 
-	
-	* 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 
-	* 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 
-	* 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 
-	
-	* camel-groupwise-folder.c:
-	  (groupwise_transfer_messages_to): set the current_folder.
-	  ** Fixes bug #300599
-
-2005-06-07  Parthasarathi Susarla 
-	
-	* camel-groupwise-folder.c:
-	 (groupwise_sync): use removeItemsRequest instead of
-	 removeItemRequest. This syncs up mailbox faster.
-
-2005-06-07  Parthasarathi Susarla 
-	
-	* 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  
-
-	Commiting for Daniel van Eeden 
-	* camel-groupwise-transport.c: 
-	(groupwise_transport_get_name): naming consistency for
-	GroupWise.
-	Fixes bug #271901
-
-2005-05-20  Parthasarathi Susarla 
-	
-	* camel-groupwise-transport.c (groupwise_send_to):
-	  Call the replyRequest api before replying to a message
-
-2005-04-07  Sankar P  
-
-	* 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  
-
-	Fixes #272504
-	* camel-groupwise-store.c: (groupwise_auth_loop): GroupWise is
-	the right way to spell.
-
-2005-05-06  Sarfraaz Ahmed 
-
-	* camel-groupwise-store.c : A typo. Fixes 272503. Patch submitted
-	by Thierry Moisan
-
-2005-04-27  Parthasarathi Susarla 
-	
-	* 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 
-	
-	* camel-groupwise-folder.c: code formatting done.
-	  removed space between the statement and ';' as per
-	  the coding style
-
-2005-04-27  Parthasarathi Susarla 
-	
-	* 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  
-
-	* camel-groupwise-provider.c: s/offline_sync/sync_offline/. Fixes
-	bug #274257
-
-2005-04-18  Parthasarathi Susarla 
-	
-	* camel-groupwise-store.c (groupwise_get_folder): Remove redundant
-	  getQuickMessageRequest
-
-2005-04-08  Sankar P 
-
-	* 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 
-	
-	* 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 
-
-	* 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 
-
-	* 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 
-	
-	* 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  
-
-	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  
-
-	* 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 
-	
-	**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 
-	
-	* camel-groupwise-folder.c:(convert_to_calendar):
-	  using GString for all string operations.
-
-2005-03-11  Parthasarathi Susarla 
-	
-	* camel-groupwise-folder.c:
-	  (gw_update_summary): using GString. An efficient way
-	  for fixing bug #72145
-
-2005-03-10  Parthasarathi Susarla 
-	
-	* 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 
-
-	* 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  
-
-	From Dave Malcolm 
-	
-	* camel-groupwise-store-summary.c
-	(camel_groupwise_store_summary_namespace_set): move forward
-	declaration out of block
-	
-2005-03-03  Parthasarathi Susarla 
-	
-	* 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 
-
-	***Fixes # 72455
-		 #73231
-		 #73239		
-	* camel-groupwise-folder.c :(gw_update_summary)
-	initialize status_flags to 0
-
-2005-03-02  Vivek Jain 
-
-	***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 
-	
-	* 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 
-
-	* 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 
-
-	* 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 
-	
-	* camel-groupwise-store.c: 
-	  (groupwise_rename_folder),
-	  (groupwise_get_folder_info) : 
-	  Fixes bug #72965
-	  
-2005-02-25  Chenthill Palanisamy  
-
-	* 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  
-
-	* 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 
-
-       * 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 
-
-	* camel-groupwise-folder.c: (convert_to_calendar): Append
-	the UID to the ICAL string.
-
-2005-02-17  Parthasarathi Susarla 
-	
-	* 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 
-	
-	* 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  
-	
-	* 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  
-
-	* camel-groupwise-store.c:
-	 (groupwise_auth_loop): make sure auth_domain is "Groupwise"
-	  Fixes bug ** #71752	
-
-2005-02-08  Parthasarathi Susarla 
-	
-	* 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 
-	
-	* camel-groupwise-store.c:
-	  (groupwise_get_folder)
-	* camel-groupwise-folder.c:
-	  (groupwise_refresh_info):
-	  Fixes bug ** #72106
-	  
-2005-02-08  Vivek Jain  
-
-	* camel-groupwise-store.c :
-	 (groupwise_connect): fix the display of garbage in the	
-	 alert for server version	
-
-2005-02-08  Parthasarathi Susarla 
-	
-	* 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  
-
-	* camel-gw-listener.[hc]: remove dead files
-
-2005-02-06  Sivaiah Nallagatla    
-
-	* camel-groupwise-provider.c : Change the "Address and Calendar"
-	section to "SOAP Settings"
-
-2005-02-04  Chenthill Palanisamy  
-
-	* 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 
-	
-	* 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 
-	
-	* camel-groupwise-store.c
-	  (groupwise_get_folder): uncommented the position cursor
-	  request
-
-2005-02-03  Parthasarathi Susarla 
-	
-	* 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 
-	
-	* 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  
-	
-	* /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  
-
-	* 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 
-	 
-	 ** 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
index 8c31ebd..0000000
--- a/camel/providers/hula/ChangeLog
+++ /dev/null
@@ -1,12 +0,0 @@
-2009-01-08  Milan Crha  
-
-	** 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  
-
-	* 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
index 266ef69..0000000
--- a/camel/providers/imap/ChangeLog
+++ /dev/null
@@ -1,1373 +0,0 @@
-2009-04-27  Milan Crha  
-
-	** 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  
-
-	* 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  
-
-	** Revert changes for bug #534938 because it breaks message
-	   loading in IMAP and can cause summary database corruption.
-
-2009-02-12  Milan Crha  
-
-	** 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  
-
-	* camel-imap-folder.c: (imap_update_summary): Remove a stupid debug
-	summary
-
-2009-01-12  Robert Collins  
-
-	** 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  
-
-	* 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** Fix for bug #561081
-
-	* camel/providers/imap/camel-imap-folder.c: Delete mails for XGWMOVE
-	when mails are moved.
-
-2008-12-05  Srinivasa Ragavan  
-
-	** Fix for bug #558883
-
-	* camel/providers/imap/camel-imap-summary.c: Don't do DB sort from
-	IMAP.
-
-2008-11-20  Milan Crha  
-
-	** 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  
-
-	** Fix for bug #561069
-
-	* camel-imap-folder.c (imap_expunge): If nothing to expunge, don't
-	crash.
-
-2008-11-07  Srinivasa Ragavan  
-
-	** Fix for bug #558883
-
-	* camel-imap-folder.c: (imap_expunge): Do in bulk
-
-2008-11-06  Milan Crha  
-
-	** 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  
-
-	** Fix for bug #556688
-
-	* camel/providers/imap/camel-imap-folder.c: Sync before emit the
-	signal.
-
-2008-10-16  Srinivasa Ragavan  
-
-	* camel-imap-message-cache.c (camel_imap_message_cache_new):
-	Optimize/speed up loading.
-
-2008-10-15  Srinivasa Ragavan  
-
-	* 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	* camel-imap-folder.c (imap_update_summary):
-	Don't mix declarations and code.
-
-2008-09-13  Chenthill Palanisamy  
-
-	* 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  
-
-	** 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  
-
-	** 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  
-
-	* camel/providers/imap/camel-imap-summary.c: Implement in-db uid sort
-	while loading.
-
-2008-08-19  Srinivasa Ragavan  
-
-	* camel/providers/imap/camel-imap-folder.c: Delete from DB for expunge
-	in a optimized way.
-
-2008-08-19  Srinivasa Ragavan  
-
-	* camel/providers/imap/camel-imap-folder.c: Refresh message list when
-	expunged.
-
-2008-08-19  Srinivasa Ragavan  
-
-	* camel/providers/imap/camel-imap-journal.c: Revert unwanted change.
-
-2008-08-08  Chenthill Palanisamy  
-
-	* 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  
-
-	* 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  
-
-	* camel/providers/imap/camel-imap-folder.c: Mark summary as dirty when
-	it is.
-
-2008-08-05  Srinivasa Ragavan  
-	
-	** 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  
-
-	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  
-
-	** Fixes bug #538620
-
-	* camel-imap-folder.c (imap_get_message):
-	Improve wording of "cannot get message" error message.
-
-2008-08-01  Matthew Barnes  
-
-	* camel-imap-store-summary.c:
-	Remove unnecessary  include.
-
-2008-07-31  Milan Crha  
-
-	** 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  
-
-	* 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  
-
-	** 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  
-
-	* camel/providers/imap/camel-imap-message-cache.c: Fix delete cache
-	code, when the summary is deleted.
-
-2008-07-30  Srinivasa Ragavan  
-
-	* 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  
-
-	* 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  
-
-	* camel/providers/imap/camel-imap-folder.c: Fix uid/pstring issues.
-
-2008-07-28  Srinivasa Ragavan  
-
-	* 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  
-
-	** 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  
-
-	** 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  
-
-	* camel/providers/imap/camel-imap-folder.c: Fix unread count issue
-	with imap providers.
-
-2008-07-26  Srinivasa Ragavan  
-
-	* camel/providers/imap/camel-imap-folder.c: Fix compiler warnings.
-
-2008-07-25  Milan Crha  
-
-	** 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  
-
-	** 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  
-
-	* camel-imap-summary.c: #include "camel-string-utils.h"
-
-2008-07-16  Sankar P  
-
-	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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	* camel-imap-store.c (connect_to_server): Fix for some
-	warnings. Fix from opensuse downstream.						  
-
-2008-02-18  Srinivasa Ragavan  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	* 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  
-
-	** 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  
-
-	* camel-imap-store.c (imap_auth_loop): Fix another typo.
-
-2008-01-22  Matthew Barnes  
-
-	* camel-imap-store.c (imap_auth_loop): Fix a typo.
-
-2008-01-21  Matthew Barnes  
-
-	** 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  
-
-	** 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  
-
-	* camel-imap-folder.c: Small memory leak
-
-2007-12-14  Milan Crha  
-
-	** 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  
-
-	** 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  
-
-	** Merge a bunch of compiler warning fixes and cosmetic
-	   cleanups from camel-lite.
-
-2007-11-12  Milan Crha  
-
-	** 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  
-
-	** 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  
-
-	* 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  
-
-	** 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  
-
-	** Fix for bug #473880
-
-	* camel-imap-search.c: Added header libedataserver/e-sexp.h
-	to fix compiler warning.
-
-2007-08-24  Wang Xin  
-
-	** 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  
-
-	** 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  
-
-	* 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  
-
-	* camel-imap-folder.c: (do_append), (decode_internaldate),
-	(add_message_from_data):
-	Fix compilation warnings (#363384)
-
-2007-06-15  Matthew Barnes  
-
-	* camel-imap-command.c (imap_command_strdup_vprintf):
-	Fix a memory leak (#447753).
-
-2007-05-11  Srinivasa Ragavan  
-
-	* camel-imap-provider.c: Fix for bug #347326 from Ebby Wiselyn.
-
-2007-04-05  Ross Burton  
-
-	* camel-imap-folder.c:
-	Use g_mkdir_with_parents (#383686).
-
-2007-03-29  Matthew Barnes  
-
-	* 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  
-
-	* camel-imap-store-summary.c:
-	Fix "incompatible pointer type" warnings (#360619).
-
-2007-03-26  Matthew Barnes  
-
-	* camel-imap-utils.c:
-	Don't mix declarations and code (#405495).
-	Patch from Jens Granseuer.
-
-2007-03-14  Sankar P  
-
-	* camel-imap-folder.c: (imap_update_summary):
-	Debug statements should be conditional
-
-2007-02-23  Matthew Barnes  
-
-	** 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  
-
-	* 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  
-
-	* 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 
-
-	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  
-
-	* Makefile.am: Add camel-imap-private.h to
-	noinst_HEADERS. Fix to allow the tarball to
-	build.
-
-2006-09-01  Sankar P  
-
-	* camel-imap-folder.[ch]:
-	* camel-imap-private.h:
-	Show messages from cache, before checking for new mails.
-	Fixes #350250
-	
-2006-08-28  Sankar P  
-
-	* 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  
-
-	** 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  
-
-	* camel-imap-provider.c:
-	adding trailing colon to string. Fixes bug #331858.
-
-2006-06-13  Andre Klapper 
-
-	* camel-imap-store.c:
-	changing "couldn't", "can't" and "didn't" to proper
-	English. Fixes bug #342160.
-
-2006-05-22  Jeffrey Stedfast  
-
-	* 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  
-
-	* 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  
-
-	* 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 
-
-	* 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  
-
-	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  
-
-	* camel-imap-store.c (connect_to_server_wrapper): Don't do
-	fallback for SSL/TLS. Fixes bug #321797.
-
-2006-04-19  Sankar P  
-
-	* 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 
-	
-	** 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 
-	
-	* 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  
-
-	* camel-imap-store.c (camel_store_finalize): Fix #321812
-	unref diary only when the store finalize is called.
-	
-2005-12-14  Tor Lillqvist  
-
-	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  
-
-	* camel-imap-folder.c: Drop unused .
-
-	* 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 
-	
-	* 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 
-
-	* camel-imap-command.c:(imap_command_strdup_vprintf):
-	Evolution should not send command with zero additional parameters.
-	Fix #322408
-
-2005-10-21 Shreyas Srinivasan 
-
-	* 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 
-	
-	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 
-	
-	* 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 
-
-	** 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 
-	
-2005-09-27  Vivek Jain 
-
-	** 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  
-
-	* 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	* Makefile.am: Use NO_UNDEFINED. Link with libcamel-provider,
-	libcamel and CAMEL_LIBS.
-
-2005-08-09  Not Zed  
-
-	** 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  
-
-	** 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  
-
-	** See bug #309906.
-
-	* camel-imap-utils.c (imap_atom_specials[]): Fixed the
-	resp_specials entry, fixed the rfc reference.
-
-2005-08-02  Not Zed  
-
-	** 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  
-
-	* 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  
-
-	** 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  
-
-	* 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  
-
-	* 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 
-	
-	* camel-imap-store.c (connect_to_server): initialization of a
-	variable. fixes Bug 301871.
-
-2005-07-25  Not Zed  
-
-	* 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  
-
-	* camel-imap-wrapper.h: Fix camel-docs breakage by changing
-	style
-	
-2005-07-20  Not Zed  
-
-	* 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  
-
-	* 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  
-
-	* camel-imap-folder.c (imap_refresh_info): copy over counts to the
-	store summary & save all summaries.
-
-2005-07-12  Not Zed  
-
-	* camel-imap-store.c (imap_connect_online): only get the folder
-	list if we dont have any yet.
-
-2005-07-11  Not Zed  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	From Dave Malcolm 
-	
-	* 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  
-
-	** See bug #73112
-
-	* camel-imap-store.c (query_auth_types): don't re-connect if we're
-	already connected.
-
-2005-02-22  Not Zed  
-
-	** 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  
-
-	* 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  
-
-	* camel-imap-folder.c (do_copy): Don't always delete the original
-	messages.
-
-2005-02-04  Not Zed  
-
-	* 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  
-	
-	** 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	** 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  
-
-	** 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
index 3792283..0000000
--- a/camel/providers/imap4/ChangeLog
+++ /dev/null
@@ -1,400 +0,0 @@
-2009-01-08  Milan Crha  
-
-	** 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  
-
-	* camel-imap4-store.c: (imap4_get_folder_info): Added translator
-	comments. Fixes bug #549241.
-
-2008-08-06  Matthew Barnes  
-
-	** 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  
-
-	* camel-imap4-store.c: s/Unknown/Unknown error/g
-
-	* camel-imap4-engine.c: Same.
-
-	* camel-imap4-folder.c: Same.
-
-2008-05-19  Matthew Barnes  
-
-	** 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	** 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  
-
-	** 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  
-
-	* 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  
-
-	** Merge a bunch of compiler warning fixes and cosmetic
-	   cleanups from camel-lite.
-
-2007-06-04  Jeffrey Stedfast  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* camel-imap4-folder.c:
-	Use g_mkdir_with_parents (#383686).
-
-2007-02-23  Matthew Barnes  
-
-	** Fixes bug #356177
-
-	* camel-imap4-folder.c:
-	* camel-imap4-store.c:
-	Migrate from EMutex to GStaticMutex or GStaticRecMutex.
-
-2006-07-12  Andre Klapper  
-
-	* camel-imap4-provider.c:
-	adding trailing colon to string. Fixes bug #331858.
-
-2006-06-15  Andre Klapper  
-
-	* camel-imap4-folder.c: 
-	* camel-imap4-store.c: 
-	changing "cancelled" to "canceled" in user-visible strings.
-	Fixes bug #342163.
-
-2006-06-09  Chris Heath  
-
-	* camel-imap4-journal.c (camel_imap4_journal_append): Fix memory leak.
-	Fixes bug #335423.
-
-2006-04-21  Jeffrey Stedfast  
-
-	* 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  
-
-	* 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  
-
-	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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* Makefile.am: Use NO_UNDEFINED. Link with libcamel-provider,
-	libcamel and CAMEL_LIBS.
-
-2005-04-17  Changwoo Ryu  
-
-	** 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  
-
-	* camel-imap-store.c (connect_to_server_wrapper): only use command
-	if use_command is set.
-
-2005-05-23  Jeffrey Stedfast  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* camel-imap4-store.c (imap4_build_folder_info): Add flags if it
-	is inbox.
-
-2005-02-10  Jeffrey Stedfast  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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
index 53b5c6e..0000000
--- a/camel/providers/imapx/ChangeLog
+++ /dev/null
@@ -1,77 +0,0 @@
-2005-09-08    
-
-	* camel-imapx-utils.c: use the messageinfo recent flag, not the
-	imapx specific one.
-
-2005-09-07    
-
-	* 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    
-
-	* camel-imapx-utils.c (imap_free_fetch): fix flag_list_clear call.
-
-2005-08-22    
-
-	* camel-imapx-utils.h: 
-	* camel-imapx-server.c: fix some compilation issues.
-	
-2005-08-22    
-
-	* 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    
-
-	* 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  
-
-	* 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  
-
-	* updates for camel folder summary api changes.
-
-2004-09-30  Not Zed  
-
-	* camel-imapp-engine.c: make the build again, warnings, doesn't
-	work.
-
-2004-09-28  Not Zed  
-
-	* 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  
-
-	* added new changelog.
-
diff --git a/camel/providers/local/ChangeLog b/camel/providers/local/ChangeLog
deleted file mode 100644
index 7629efc..0000000
--- a/camel/providers/local/ChangeLog
+++ /dev/null
@@ -1,649 +0,0 @@
-2009-04-27  Milan Crha  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** Fixes bug #573183
-	
-	* camel-maildir-summary.c (maildir_summary_check): only do
-	closedir() if directory is not NULL
-
-2009-03-01  Srinivasa Ragavan  
-
-	* camel/providers/local/camel-local-folder.c: Fix for a deadlock,
-	while recovering from folder-summary mismatch.
-
-2009-02-27  Tobias Mueller 
-
-	** 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 
-
-	** 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  
-
-	** Fix for bug #557348
-
-	* camel-local-summary.c: (local_summary_add): Set flags and update
-	cache
-
-2009-01-28  Suman Manjunath  
-
-	* 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  
-
-	* 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  
-
-	* camel-mbox-folder.c (mbox_get_message): Fixed some compiler warnings.
-
-2009-01-12  Srinivasa Ragavan  
-
-	* camel-mbox-folder.c: (mbox_get_message): Revert previous fix
-
-2009-01-12  Srinivasa Ragavan  
-
-	* camel-mbox-folder.c: (mbox_get_message): Fix for better flag sync.
-	Always send XEV headers with messages.
-
-2008-10-14  Srinivasa Ragavan  
-
-	** 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  
-
-	* camel-local-store.c (camel_local_store_finalize):
-	Don't mix declarations and code.
-
-2008-08-30  Srinivasa Ragavan  
-
-	* camel/providers/local/camel-spool-summary.c: Fixed folder summary
-	mismatch for spool
-
-2008-08-20  Srinivasa Ragavan  
-
-	* camel/providers/local/camel-maildir-summary.c: Make it use sort by
-	dreceived from db.
-
-2008-08-20  Srinivasa Ragavan  
-
-	* camel/providers/local/camel-mh-summary.c: Implement in-db sort of
-	m-h account types.
-
-2008-08-20  Srinivasa Ragavan  
-
-	* camel/providers/local/camel-mbox-summary.c: Fix some missing
-	portions of folder summary mismatch
-
-2008-08-20  Srinivasa Ragavan  
-
-	** Fix for bug #213072
-
-	* camel/providers/local/camel-mbox-summary.c: Sort mbox/spool summary
-	uids by from_pos. 
-
-2008-08-19  Srinivasa Ragavan  
-	
-	** 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  
-
-	* camel/providers/local/camel-mbox-summary.c: When required just save
-	the header and not all.
-
-2008-08-18  Srinivasa Ragavan  
-
-	* camel/providers/local/camel-mbox-summary.c: Continue, if the summary
-	isn't loaded.
-
-2008-08-18  Srinivasa Ragavan  
-
-	* camel/providers/local/camel-mbox-summary.c: Fixes folder summary
-	mismatch on expunge.
-
-2008-08-18  Srinivasa Ragavan  
-
-	* camel/providers/local/camel-mbox-summary.c: Revert old patch for
-	folder summary mismatch. It corrupts even more.
-
-2008-08-18  Srinivasa Ragavan  
-
-	* 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  
-
-	* camel/providers/local/camel-mbox-folder.c: Don't save to db on
-	every append. Its quite expensive.
-
-2008-08-18  Srinivasa Ragavan  
-
-	* camel/providers/local/camel-mbox-summary.c: Fix counts while
-	expunging.
-
-2008-08-06  Matthew Barnes  
-
-	** Fixes part of bug #545877
-
-	* camel-maildir-store.c:
-	Use CamelDList instead of EDList.
-
-2008-08-05  Srinivasa Ragavan  
-
-	* camel/providers/local/camel-spool-summary.c: Load spool's summary
-	before we need it to avoid any duplication.
-
-2008-08-03  Srinivasa Ragavan  
-
-	* camel/providers/local/camel-maildir-summary.c: Fix pstring crashes.
-
-2008-07-31  Matthew Barnes  
-
-	** 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  
-
-	* camel/providers/local/camel-local-store.c: Support delete folder wrt
-	disk summary.
-
-2008-07-30  Srinivasa Ragavan  
-
-	* 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  
-
-	** 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  
-
-	* camel/providers/local/camel-mbox-summary.c: Fix compiler warnings.
-
-2008-07-25  Milan Crha  
-
-	** Part of fix for bug #544031
-
-	* camel-mbox-summary.c: (summary_header_to_db):
-	Compiler warning cleanup.
-
-2008-07-23  Milan Crha  
-
-	** 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  
-
-	* camel-local-summary.c: #include "camel-string-utils.h"
-
-2008-07-16  Sankar P  
-
-	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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	* 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 
-
-2008-01-16  Sankar P  
-
-	* 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  
-
-	* 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  
-
-	* camel-maildir-folder.c: Memory leak fix
-
-2007-12-11  Milan Crha  
-
-	** 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  
-
-	** Fix for bug #466499
-
-	* camel-local-provider.c: Added mnemonics to configuration options
-
-2007-12-03  Milan Crha  
-
-	** Fix for bug #500018
-
-	* camel-local-provider.c: (CamelProvider mbox_provider):
-	Allow choose files, instead of directories, for mbox.
-
-2007-11-16  Matthew Barnes  
-
-	* 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  
-
-	** Merge a bunch of compiler warning fixes and cosmetic
-	   cleanups from camel-lite.
-
-2007-09-07  Kjartan Maraas  
-
-	* 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  
-
-	** 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  
-
-	** 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  
-
-	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  
-
-	* camel-spool-summary.c (spool_summary_sync_full): Use g_mkstemp()
-
-2007-05-14  Jules Colding  
-
-	* 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  
-
-	* 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  
-
-	** 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  
-
-	** 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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 
-	
-	** 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  
-
-	* 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  
-
-	* 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  
-
-	* *.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  
-
-	* 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  
-
-	* camel-mbox-summary.c (mbox_summary_sync_quick): removed some
-	unecessary debug.
-
-2005-08-12  Not Zed  
-
-	* 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  
-
-	* 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	* camel-local-provider.c (check_equal): make "" equal NULL for
-	comparative purposes.
-
-2005-03-18  Not Zed  
-
-	* 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	* 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
index cc8f552..0000000
--- a/camel/providers/nntp/ChangeLog
+++ /dev/null
@@ -1,233 +0,0 @@
-2009-04-07  Milan Crha  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** Fix for bug #552261
-
-	* camel-nntp-summary.c: Include camel-db.h
-
-2008-09-26  Milan Crha  
-
-	** 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  
-
-	** 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  
-
-	* camel-nntp-store-summary.c:
-	Remove unnecessary  include.
-
-2008-07-28  Srinivasa Ragavan  
-
-	* camel/providers/nntp/camel-nntp-summary.c: Fix uid/pstring issues.
-
-2008-07-16  Sankar P  
-
-	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  
-
-	** 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  
-
-	** Fix for bug #455248
-
-	* camel-nntp-store.c: (nntp_delete_folder):
-	Call unsubscribe instead of subscribe function.
-
-2008-01-21  Matthew Barnes  
-
-	** 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  
-
-	** 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  
-
-	** 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 
-
-	** Fix for bug #466499
-
-	* camel-nntp-provider.c: Added mnemonics to configuration options
-
-2007-11-14  Matthew Barnes  
-
-	** Merge a bunch of compiler warning fixes and cosmetic
-	   cleanups from camel-lite.
-
-2007-05-14  Jules Colding  
-
-	* camel-nntp-newsrc.c (camel_nntp_newsrc_read_for_server): Fix file descriptor leak
-
-2007-04-05  Ross Burton  
-
-	* camel-nntp-folder.c: (camel_nntp_folder_new):
-	Use g_mkdir_with_parents (#383686).
-
-2007-03-29  Matthew Barnes  
-
-	* camel-nntp-store-summary.c:
-	Fix "incompatible pointer type" warnings (#360619).
-
-2007-02-23  Matthew Barnes  
-
-	* camel-nntp-folder.c:
-	* camel-nntp-store.c:
-	Migrate from EMutex to GStaticMutex or GStaticRecMutex.
-
-2006-06-15  Andre Klapper  
-
-	* camel-nntp-store.c: 
-	* camel-nntp-folder.c: 
-	changing "cancelled" to "canceled" in user-visible strings.
-	Fixes bug #342163.
-
-2006-06-15  Andre Klapper 
-
-	* 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  
-
-	* camel-nntp-summary.c (message_info_new_from_header): Fix memory leak.
-	Fixes bug #335423.
-
-2005-12-13  Tor Lillqvist  
-
-	* camel-nntp-grouplist.c
-	* camel-nntp-newsrc.c: Use gstdio wrappers.
-
-2005-11-30  Tor Lillqvist  
-
-	* camel-nntp-folder.c
-	* camel-nntp-store.c: Remove some unneeded headers.
-
-2005-09-16  Tor Lillqvist  
-
-	* 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  
-
-	* camel-nntp-stream.c (stream_read): cast print args to int.
-
-2005-08-12  Tor Lillqvist  
-
-	* Makefile.am: Use NO_UNDEFINED. Link with libcamel-provider,
-	libcamel and CAMEL_LIBS.
-
-2005-04-17  Changwoo Ryu  
-
-	** 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  
-
-	* 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  
-
-	* camel-nntp-store.c (nntp_folder_info_from_store_info): Copy the
-	flags field when converting from CamelStoreInfo to CamelFolderInfo.
-
-2005-04-22  rganesan 
-
-        *camel-nntp-provide.c:  Patch for bug #301460 give space at the end of line.
-
-2005-04-22  Not Zed  
-
-	* 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 
-
-	* camel-nntp-store.c (nntp_store_get_folder_info_all): If we fail
-	to get the date, just abort.
-
-2005-03-16  Not Zed  
-
-	* modified patch below to make it a bit simpler.
-
-2005-01-22  Jeff Bailey 
-
-	* 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  
-
-	* added nntp changelog
-
diff --git a/camel/providers/pop3/ChangeLog b/camel/providers/pop3/ChangeLog
deleted file mode 100644
index d3b7baa..0000000
--- a/camel/providers/pop3/ChangeLog
+++ /dev/null
@@ -1,264 +0,0 @@
-2009-04-24  Milan Crha  
-
-	** 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  
-
-	** 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  
-
-	* camel-pop3-store.c (pop3_try_authenticate): Return -1 if we fail
-	to get a password, not 0.
-
-2008-09-26  Milan Crha  
-
-	** 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  
-
-	** 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  
-
-	** Fixes part of bug #545877
-
-	* camel-pop3-engine.c:
-	* camel-pop3-engine.h:
-	Use CamelDList instead of EDList.
-
-2008-05-19  Matthew Barnes  
-
-	** Fixes part of bug #531591
-
-	* camel-pop3-store.c:
-	Don't use TeX-style quotes in user-visible messages.
-
-2008-05-11  Jeffrey Stedfast  
-
-	* camel-pop3-stream.c (stream_fill): Use memmove() instead of
-	memcpy() since src and dest may overlap.
-
-2008-03-27  Matthew Barnes  
-
-	** 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  
-
-	** 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  
-
-	* camel-pop3-store.c (connect_to_server): Fix for some
-	warnings. Fix from opensuse downstream.						  
-
-2008-01-21  Matthew Barnes  
-
-	** 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  
-
-	** 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  
-
-	** Fix for bug #456019
-	** Patch from  
-
-	* camel-pop3-store.c: (try_sasl): Use 'pop' as service name, instead 
-	of 'pop3', in the digest-uri.
-
-2007-12-11  Milan Crha  
-
-	** 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 
-
-	** Fix for bug #466499
-
-	* camel-pop3-provider.c: Added mnemonics to configuration options
-
-2007-11-14  Matthew Barnes  
-
-	** Merge a bunch of compiler warning fixes and cosmetic
-	   cleanups from camel-lite.
-
-2007-09-27  Matthew Barnes  
-
-	** 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  
-
-	* camel-pop3-folder.c: Silence debug messages.
-
-2007-07-09  Gilles Dartiguelongue  
-
-	* 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  
-
-	** Fix for bug #352284 from Nathan Owens
-
-	* camel-pop3-folder.c: (camel_pop3_delete_old):
-
-2007-07-08  Jens Granseuer  
-
-	* 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 
-	
-	** 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  
-
-	* camel-pop3-store.c: (pop3_try_authenticate):
-	Check if the APOP id generated is a valid one.
-	Fixes #424373
-
-2007-04-01  Matthew Barnes  
-
-	* camel-pop3-store.c (connect_to_server):
-	Fix a compiler warning.  Patch from Kjartan Maraas.
-
-2007-03-26  Matthew Barnes  
-
-	* camel-pop3-folder.c:
-	Don't mix declarations and code (#405495).
-	Patch from Jens Granseuer.
-
-2007-02-10  Kjartan Maraas  
-
-	* 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  
-
-	* Makefile.am:
-	
-	Add explicit translation domain to make things
-	translatable. Fixes bug #353060.
-
-2006-07-09  Parthasarathi Susarla 
-	
-	** Fixes bug #201824
-	* camel-pop3-folder.[ch]
-	* camel-pop3-store.[ch]:
-	Deletes messages after N days.
-
-	Committing to head on behalf of shreyas srinivasan
-	
-	
-2006-06-15  Andre Klapper  
-
-	* camel-pop3-store.c: 
-	* camel-pop3-folder.c: 
-	changing "cancelled" to "canceled" in user-visible strings.
-	Fixes bug #342163.
-
-2006-06-15  Andre Klapper 
-
-	* 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  
-
-	* camel-pop3-engine.c (camel_pop3_engine_finalise): Fix memory leak.
-	Fixes bug #335423.
-
-2006-05-31  Jeffrey Stedfast  
-
-	* 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  
-
-	* camel-pop3-store.c (connect_to_server_wrapper): Don't do
-	fallback for SSL/TLS. Fixes bug #321797.
-
-2005-09-16  Tor Lillqvist  
-
-	* 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  
-
-	* camel-pop3-stream.c: fix some debug printfs to use
-	the right sized length.
-
-2005-08-12  Tor Lillqvist  
-
-	* Makefile.am: Use NO_UNDEFINED. Link with libcamel-provider,
-	libcamel and CAMEL_LIBS.
-
-2005-04-17  Changwoo Ryu  
-
-	** 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 
-
-	* 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
index 7d91579..0000000
--- a/camel/providers/sendmail/ChangeLog
+++ /dev/null
@@ -1,21 +0,0 @@
-2007-05-11  Jules Colding  
-
-	* camel-sendmail-transport.c (sendmail_send_to): Fix file descriptor leak
-
-2005-09-16  Tor Lillqvist  
-
-	* 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  
-
-	** 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
index ee503b9..0000000
--- a/camel/providers/smtp/ChangeLog
+++ /dev/null
@@ -1,122 +0,0 @@
-2009-04-24  Milan Crha  
-
-	** 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  
-
-	** 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  
-
-	* camel-smtp-transport.c (smtp_data): Setup progress reporting for
-	message sending.
-
-2008-06-18  Matthew Barnes  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** Fix for bug #504837
-
-	* camel-smtp-transport.c: (connect_to_server):
-	Do not ignore HELO failed message.
-
-2007-12-23  Jeffrey Stedfast  
-
-	* camel-smtp-transport.c (smtp_helo): Get rid of some unneccessary
-	debug printfs.
-
-2007-12-19  Milan Crha  
-
-	** 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  
-
-	** Merge a bunch of compiler warning fixes and cosmetic
-	   cleanups from camel-lite.
-
-2007-03-26  Matthew Barnes  
-
-	* camel-smtp-transport.c (smtp_auth):
-	Fix a couple memory leaks (#360807).  Patch from Chris Heath.
-
-2006-06-15  Andre Klapper  
-
-	* camel-smtp-transport.c: 
-	changing "cancelled" to "canceled" in user-visible strings.
-	Fixes bug #342163.
-
-2006-05-10  Jeffrey Stedfast  
-
-	* camel-smtp-transport.c (smtp_helo): Implement the correct fix.
-
-2006-05-09  Jeffrey Stedfast  
-
-	* 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  
-
-	* camel-smtp-transport.c (connect_to_server_wrapper): Don't do
-	fallback for SSL/TLS. Fixes bug #321797.
-
-2006-04-18  Jeffrey Stedfast  
-
-	* 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  
-
-	* Makefile.am: Use NO_UNDEFINED. Link with libcamel-provider,
-	libcamel and CAMEL_LIBS.
-
-2005-04-17  Changwoo Ryu  
-
-	** 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
index 7887702..0000000
--- a/camel/tests/ChangeLog
+++ /dev/null
@@ -1,47 +0,0 @@
-2007-10-26  Matthew Barnes  
-
-	* 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  
-
-	* mime-filter/test-charset.c (main): Check return value
-
-	* message/test2.c (convert): Check return value
-
-2006-06-22  Harish Krishnaswamy  
-
-	* Makefile.am: Remove CVS/*, .cvsignore files from
-	the dist output.
-
-2005-09-16  Tor Lillqvist  
-
-	* lib/camel-test-provider.c (camel_test_provider_init): Use
-	G_MODULE_SUFFIX instead of hardcoded .so.
-
-2005-08-13  Tor Lillqvist  
-
-	* message/Makefile.am (LDADD): Reorder: put libcamel after
-	libcameltest.
-
-2005-08-08  Not Zed  
-
-	** 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  
-
-	* 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
index 2db01cf..0000000
--- a/libedataserverui/ChangeLog
+++ /dev/null
@@ -1,1670 +0,0 @@
-2009-02-14  Matthew Barnes  
-
-	** Fixes part of bug #571761
-
-	* e-name-selector-list.h:
-	Stop using deprecated GtkType macros.
-
-2009-01-19  Suman Manjunath  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-License Changes
-
-	* e-name-selector-list.c:
-	* e-name-selector-list.h:
-
-2008-10-06  Srinivasa Ragavan  
-
-	** Fix for bug #546406
-
-	* libedataserverui/e-passwords.c: Don't lookup password from old
-	keyring.
-
-2008-10-01  Milan Crha  
-
-	** 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  
-
-	* libedataserverui.pc.in:
-	Remove libgnome-2.0 as it isn't used.
-
-2008-09-23  Milan Crha  
-
-	** 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  
-
-	* e-source-selector.c:
-	Make ESourceSelector subclassable by adding a "source-list"
-	constructor property.
-
-2008-09-01  Milan Crha  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	* e-source-selector.c (e_source_selector_get_source_list):
-	New function provides access to the internal source list.
-
-2008-08-17  Matthew Barnes  
-
-	** Fixes bug #547952
-
-	* e-source-selector.c (rebuild_model):
-	Don't display empty source groups.
-
-2008-08-06  Milan Crha  
-
-	** 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  
-
-	** 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  
-
-	** Fix for bug #534946
-
-	* e-passwords.c: (ep_get_password_keyring), (ep_ask_password),
-	(e_passwords_shutdown):
-
-2008-06-03  Matthew Barnes  
-
-	* 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	* 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  
-
-	** 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  
-
-	* e-passwords.c (pass_response):
-	Use g_queue_peek_head_link() to obtain a GQueue list node (#453109).
-
-2008-04-02  Matthew Barnes  
-
-	* e-passwords.c (ep_keyring_lookup_paswords):
-	Remove NULL argument checks.  Passing NULL is valid.
-
-2008-03-27  Matthew Barnes  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	* e-name-selector-dialog.c: Include the required
-	header files. Fix from downstream opensuse.
-
-2008-01-21  Matthew Barnes  
-
-	** 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  
-
-	** 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  
-
-	** Fix for bug #503400
-
-	* e-passwords.c: (ep_ask_password): Remove excessive whitespace on 
-	password dialogs.
-
-2008-01-11  Srinivasa Ragavan  
-
-	** 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  
-
-	** Partial fix for bug #503400
-
-	* e-passwords.c: (ep_ask_password): Remove excessive whitespace on 
-	password dialogs.
-
-2007-12-06  Sankar P  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** Fixes part of bug #474000
-
-	* e-passwords.c (ep_password_decode):
-	Initialize 'length' before calling g_base64_decode().
-
-2007-11-05  Milan Crha  
-
-	** 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  
-
-	** 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  
-
-	** Fixes bug #488156
-
-	* e-passwords.c:
-	Minimize use of the WITH_GNOME_KEYRING macro.
-
-2007-11-01  Matthew Barnes  
-
-	** Fixes bug #487229
-
-	* e-passwords.c:
-	Use GKeyFile instead of gnome-config to access stored passwords.
-
-2007-11-01  Milan Crha  
-
-	** 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  
-
-	** Fix for bug #271777
-
-	* e-name-selector-entry.c: (type_ahead_complete):
-	Keep character's case as user types.
-
-2007-10-22  Matthew Barnes  
-
-	** 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  
-
-	** Fix for bug #478404
-
-	* e-name-selector-entry.c: (user_focus_out): Reset the id to zero.
-
-2007-10-03  Matthew Barnes  
-
-	** Fixes part of bug #469657
-
-	* e-passwords.c:
-	Use destroy functions in GHashTables to simplify memory management.
-
-2007-09-27  Matthew Barnes  
-
-	** Fixes part of bug #474000
-
-	* e-passwords.c:
-	Remove redundant Base64 codec implementation.  Use GLib's.
-
-2007-08-31  Milan Crha  
-
-	** 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  
-
-	** 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  
-
-	* e-name-selector-entry.c:
-	Fix compile warnings.
-
-2007-08-10  Milan Crha  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	* 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  
-
-	** 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  
-
-	** Fix for bug #410823
-
-	* e-name-selector-entry.c: (get_range_at_position),
-	(user_focus_out):
-
-2007-06-15  Matthew Barnes  
-
-	* e-passwords.c (ep_forget_password_keyring),
-	(ep_get_password_keyring): Free the EUri (#447749).
-
-2007-05-28  Pascal Terjan  
-
-	* 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  
-
-	* e-passwords.c (ep_ask_password):
-	Remove check for obsolete GTK+ version (#424562).
-
-2007-05-12  Srinivasa Ragavan  
-
-	** 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  
-
-	* 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  
-
-	* e-name-selector-dialog.c: (destination_column_formatter): Fix for
-	bug #359806 from Matthew Barnes and Makuchaku.
-
-2007-04-04  Ross Burton  
-
-	* 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  
-
-	* e-source-selector.c (pixbuf_cell_data_func):
-	Use the new ESource color API. (#373117)
-
-2007-04-01  Matthew Barnes  
-
-	* 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  
-
-	* e-source-selector.c:
-	* e-name-selector-dialog.c:
-	Fix "incompatible pointer type" warnings (#360619).
-
-2007-03-29  Matthew Barnes  
-
-	* 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  
-
-	* e-name-selector-entry.c:
-	Don't mix declarations and code (#405495).
-	Patch from Jens Granseuer.
-
-2007-02-09  Matthew Barnes  
-
-	** Fixes bug #405531
-
-	* e-name-selector-dialog.c (search_changed): Translate "Any Category".
-
-2007-02-07  Matthew Barnes  
-
-	** 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  
-
-	* e-passwords.c (e_passwords_shutdown): !WITH_GNOME_KEYRING
-	alternative was missing here.
-
-2007-01-22  Srinivasa Ragavan  
-
-	** 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  
-
-	** Downstream from openSUSE
-
-	* e-passwords.c: (ep_get_password): Warnings fix.
-
-2007-01-08  Matthew Barnes  
-
-	Fixes #387638
-	* e-source-selector.c: Include the header
-	file string.h.
-
-2006-12-05  Srinivasa Ragavan  
-
-	* 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  
-
-	** 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  
-
-	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  
-
-	* e-name-selector-dialog.glade:
-	Fix for #356051. Remove unused spaces.
-
-2006-08-23  Srinivasa Ragavan  
-
-	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  
-
-	* 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  
-
-	* 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   
-
-	* 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  
-	
-	** 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  
-
-	* e-name-selector-entry.c: (user_delete_text): Removed the unwanted
-	code which was commented.
-
-2006-08-01  Tor Lillqvist  
-
-	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  
-
-	* e-name-selector-entry.c :Crash on closing the contact editor 
-	after closing the composer.
-	Fix for Bug #347779, 347706
-
-2006-07-25  suka  
-
-	* e-categories-dialog.glade: change default height of categories 
-	window. Fixes bug #348285. (committed by Andre Klapper)
-
-2006-07-20  Devashish Sharma  
-
-	** 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  
-
-	* 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 
-
-	** Fixes bug #345397
-	* e-name-selector-dialog.glade:
-	Change the target of label Category, and make ALT + A work.
-
-2006-06-29  simon.zheng  
-
-	** Fixes 345373 
-
-	* e-name-selector-entry.c: (user_insert_text): Allow to
-	insert more than 1 characters every time.
-
-2006-06-13  Hiroyuki Ikezoe  
-
-	** Fixes 342384
-	* e-name-selector-entry.c: (popup_activate_inline_expand):
-	Sanitizing mail list text and memory leak fix.
-
-2006-05-21  Hiroyuki Ikezoe  
-
-	** Fixes bug #342479
-	* e-name-selector-dialog.c: Plugged memory leak.
-
-2006-06-09  Hiroyuki Ikezoe  
-
-	** Fixes bug #342382
-	* e-name-selector-entry.c: Plugged memory leaks.
-
-2006-06-09  Chris Heath  
-
-	* e-name-selector-dialog.c (search_changed): Fix memory leak.
-	Fixes bug #335423.
-
-2006-06-02  Hiroyuki Ikezoe  
-
-	** 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  
-
-	* 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  
-
-	* 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 
-
-	** 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  
-	
-	* 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  
-
-	* 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  
-
-	* e-name-selector-entry.c (user_delete_text) : Fix for Bug 322432- To field
-	can crash evolution.
-
-2006-03-01  Devashish Sharma  
-
-	* e-name-selector-dialog.c (transfer_button_clicked) : Fixed a crasher.
-
-2006-02-25  Veerapuram Varadhan 
-
-	** Fixes #301116
-	
-	* e-passwords.c: include  instead of
-	, to specify the translation domain
-	explicitly. Harish's earlier commit of Changwoo's patch 
-	missed this part.
-	
-2006-01-01  Devashish Sharma  
-
-	* 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  
-
-	* libedataserverui/e-book-auth-util.c (addressbook_authenticate):
-	Checking for the property user and username. Fixes #327819.
-
-2005-01-16  Devashish Sharma 
-
-	* 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 
-
-	* 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  
-
-	* 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  
-
-	** 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  
-
-	* e-name-selector.c: Remove unused static function free_section().
-
-2006-01-02  Srinivasa Ragavan  
-
-	* 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  
-
-	** 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* test-contact-store.c:
-	* test-name-selector.c:
-	Don't use Bonobo and GnomeProgram, GTK+ suffices.
-
-2005-09-30  Devashish Sharma  
-
-	* 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  
-
-	* 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  
-
-	* e-name-selector-entry.h: fix prototype of temporary api's.
-
-2005-08-22  Not Zed  
-
-	* e-name-selector-entry.c (find_existing_completion): assign
-	best_field to remove spurious warning.
-
-2005-08-17  Devashish Sharma 
-
-	* e-name-selector-entry.c (completion_match_selected): automatically
-	adds a comma after autocompleting the address. Fixes #247706.
-
-2005-08-13  Tor Lillqvist  
-
-	* 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  
-
-	** See bug #308512.
-
-	* e-passwords.c (ep_ask_password): implement new flag to disable
-	the remember password box.
-
-2005-07-24  Vivek Jain  
-	
-	* 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  
-
-	* 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 
-
-       * 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  
-
-	* 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  
-
-	* 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  
-
-	* e-name-selector-entry.c: Making it more easy to remove destinations.
-
-2005-07-06  Sushma Rai  
-
-	* 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  
-
-	* e-source-option-menu.c: (populate): Fix a small leak.
-
-2005-07-06  Sushma Rai  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* e-categories-dialog.c:
-	* e-categories-dialog.glade:
-	Use GtkFileChooserButton instead of a GnomeFileEntry.
-
-2005-05-24  Sushma Rai  
-
-	* 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  
-
-	Fixes #301116
-	
-	* e-categories-dialog.c (e_categories_dialog_init): specify the
-	translation domain on glade_xml_new().
-
-2005-05-09  Mengjie Yu  
-
-	* 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  
-
-	* 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  
-
-	* Makefile.am: use API_VERSION 
-
-2005-04-04  Sivaiah Nallagatla 
-
-       * 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  
-
-	* 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 
-
-	Fixes #73472
-
-	* e-categories-dialog.c (load_properties_dialog): make the
-	GnomeFileEntry use the file chooser widget.
-
-2005-03-22  Chenthill Palanisamy  
-     
-        * e-source-selector.c (selector_button_press_event): Do
-	not emit popup signals when clicked on the source group.
-
-2005-03-04  Rodrigo Moya 
-
-	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 
-
-	Fix for 73010.
-
-	* e-categories-dialog.c: (load_properties_dialog): set modal for
-	the gnome_file_entry.
-
-2005-02-25  Rodrigo Moya  
-
-	* 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  
-
-	* 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 
-
-	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  
-
-	* test-source-option-menu.c:
-	* test-source-selector.c:
-	Remove useless libgnome use.
-
-2005-02-03  Ross Burton  
-
-	* 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 
-
-	* 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 
-
-	* e-categories-dialog.c (e_categories_dialog_init): only show categories
-	that are searchable (ie, user visible).
-
-2005-01-25  Rodrigo Moya 
-
-	* e-categories-dialog.c (new_button_clicked): set all new categories to
-	be searchable.
-
-2005-01-24  Hans Petter Jansson  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* 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 
-
-	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 
-
-	* e-categories-dialog.c (delete_button_clicked_cb): added missing
-	implementation.
-
-2005-01-10  Rodrigo Moya 
-
-	* 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  
-
-	* 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 
-
-	* 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 
-
-	* 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 
-
-	* 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 
-
-	* 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 
-
-	* 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  
-
-	* 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  
-
-	* Makefile.am (INCLUDES): include the addressbook builddir as well
-	for generated files
-
-2004-12-24  Hans Petter Jansson  
-
-	* 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  
-
-	* 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  
-
-	* 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
index bf38dbe..0000000
--- a/po/ChangeLog
+++ /dev/null
@@ -1,4459 +0,0 @@
-2009-04-12  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin
-
-2009-04-10  Gabor Kelemen  
-
-	* hu.po: Translation updated.
-	
-2009-03-31  Baris Cicek 
-
-	* tr.po: Updated Turkish translation.
-
-2009-03-23  Manoj Kumar Giri  
-
-	* or.po: Updated Oriya Translation.
-
-2009-03-22  Jorge Gonzalez  
-
-	* es.po: Updated Spanish translation.
-
-2009-03-20  Manoj Kumar Giri  
-
-	* or.po: Updated Oriya Translation.
-
-2009-03-18  Djihed Afifi 
-
-	* ar.po: Updated Arabic translation by Anas Afif Emad.
-
-2009-03-17  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-
-2009-03-16  Alexander Shopov  
-
-	* bg.po: Updated Bulgarian translation by
-	Alexander Shopov 
-
-2009-03-16  Amitakhya Phukan 
-
-	* as.po: Updated Assamese translations.
-
-2009-03-16  Rajesh Ranjan  
-
-	* mai.po: added Maithili translation.
-	* LINGUAS: Added Maithili (mai) to the list of Languages.
-	
-2009-03-16  Manoj Kumar Giri  
-
-	* or.po: Updated Oriya Translation.
-
-2009-03-15  Hendrik Richter  
-
-	* de.po: Updated German translation, by
-	         Mario Blättermann
-
-2009-03-15  Nickolay V. Shmyrev  
-
-	* ru.po: Updated Russian translation by Yuriy Penkin.
-
-2009-03-14  Kostas Papadimas 
-
-	* el.po: Updated Greek Translation by Jennie Petoumenou.
-
-2009-03-14  Žygimantas Beručka  
-
-	* lt.po: Updated Lithuanian translation.
-
-2009-03-14  Milo Casagrande  
-
-	* it.po: Updated Italian translation for bug 574850.
-
-2009-03-14  Sandeep Shedmake  
-
-	* mr.po: Updated Marathi Translations.
-
-2009-03-14  Andre Klapper  
-
-	* cs.po: Updated Czech translation by Jiri Eischmann.
-
-2009-03-13  Ignacio Casal Quinteiro  
-
-	 * gl.po: Updated Galician translation
-
-2009-03-12  Wadim Dziedzic  
-
-	* pl.po: Updated Polish translation and fixed bug #574859
-
-2009-03-12  Ani Peter 
-
-	* ml.po: Updated Malayalam Translations
-
-2009-03-12  Rajesh Ranjan 
-
-	* hi.po: Updated Hindi Translation.
-
-2009-03-12  I. Felix 
-
-	* ta.po:  Tamil Translation updated
-
-2009-03-12  Manoj Kumar Giri  
-
-	* or.po: Updated Oriya Translation.
-
-2009-03-11  Gabor Kelemen  
-
-	* hu.po: Translation updated. Fixes bug #574856.
-
-2009-03-11  Goran Rakic  
-
-	* sr.po, sr@latin.po: Updated Serbian translation.
-
-2009-03-11  Andre Klapper  
-
-	* cs.po: Updated Czech translation.
-
-2009-03-10  Daniel Nylander 
-
-	* sv.po: Updated Swedish translation.
-
-2009-03-10  Žygimantas Beručka  
-
-	* lt.po: Updated Lithuanian translation.
-
-2009-03-09  Ankitkumar Patel  
-
-	* gu.po: Updated Gujarati Translations.
-
-2009-03-09  Runa Bhattacharjee  
-
-	* bn_IN.po: Updated Bengali India Translation
-
-2009-03-06  Žygimantas Beručka  
-
-	* lt.po: Updated Lithuanian translation.
-
-2009-03-05  Milo Casagrande  
-
-	* it.po: Updated Italian translation by Luca Ferretti
-
-2009-03-05  Krishnababu K 
-
-	* te.po: Updated Telugu Translation.
-
-2009-03-05  Shankar Prasad  
-
-        * kn.po: Updated Kannada translations.
-
-2009-03-04  Kenneth Nielsen  
-
-	* da.po: Updated Danish translation by Kenneth Nielsen
-
-2009-03-04  Manoj Kumar Giri  
-
-	* or.po: Updated Oriya Translation.
-
-2009-03-04  Shankar Prasad  
-
-        * kn.po: Updated Kannada translations.
-
-2009-02-28  Claude Paroz  
-
-	* fr.po: Updated French translation.
-
-2009-02-28  Ilkka Tuohela 
-
-	* fi.po: Updated Finnish translation.
-
-2009-02-27  Luca Ferretti  
-
-	* it.po: Updated Italian translation.
-
-2009-02-26  Sweta Kothari 
-
-        * gu.po: Updated Gujarati translation.
-
-2009-02-25  Duarte Loreto 
-
-	* pt.po: Updated Portuguese translation.
-
-2009-02-24  Jorge Gonzalez  
-
-	* es.po: Updated Spanish translation.
-
-2009-02-23  Philip Withnall  
-
-	* en_GB.po: Updated British English translation.
-
-2009-02-23  Gabor Kelemen  
-
-	* hu.po: Translation updated.
-
-2009-02-23 Og Maciel 
-
-	* pt_BR.po: Updated Brazilian Portuguese translation by
-	Vladimir Melo.
-
-2009-02-23  Gil Forcada  
-
-	* ca.po: Updated Catalan translation by David Planella.
-
-2009-02-22 Og Maciel 
-
-	* pt_BR.po: Updated Brazilian Portuguese translation by
-	Andre Gondim.
-
-2009-02-22  Jani Monoses  
-
-	* ro.po: Updated Romanian translation
-	by Adi Roiban 
-
-2009-02-19  Daniel Nylander 
-
-	* sv.po: Updated Swedish translation.
-
-2009-02-18  Inaki Larranaga Murgoitio  
-
-	* eu.po: Updated Basque translation.
-
-2009-02-18  Ilkka Tuohela 
-
-	* fi.po: Updated Finnish translation.
-
-2009-02-18  Theppitak Karoonboonyanan  
-
-	* th.po: Updated Thai translation.
-
-2009-02-18  Changwoo Ryu  
-
-	* ko.po: Updated Korean translation.
-
-2009-02-17  Gabor Kelemen  
-
-	* hu.po: Translation updated.
-
-2009-02-17  Wouter Bolsterlee  
-
-	* nl.po: Updated Dutch translation by Wouter Bolsterlee.
-
-2009-02-17  Takeshi AIHANA 
-
-	* ja.po: Updated Japanese translation.
-
-2009-02-16  Alexander Shopov  
-
-	* bg.po: Updated Bulgarian translation by
-	Alexander Shopov 
-
-2009-02-14  Duarte Loreto 
-
-	* pt.po: Updated Portuguese translation.
-
-2009-02-14  Petr Kovar  
-
-	* cs.po: Updated Czech translation by Jiri Eischmann.
-
-2009-02-14 Kenneth Nielsen 
-
-	* da.po: Updated Danish translation by Kenneth Nielsen
-
-2009-02-14  Gabor Kelemen  
-
-	* hu.po: Translation updated.
-
-2009-02-11  Inaki Larranaga Murgoitio  
-
-	* eu.po: Updated Basque translation.
-
-2009-02-11  Daniel Nylander 
-
-	* sv.po: Updated Swedish translation.
-
-2009-02-11  Alexander Shopov  
-
-	* bg.po: Updated Bulgarian translation by
-	Alexander Shopov 
-
-2009-02-09  Takeshi AIHANA 
-
-	* ja.po: Updated Japanese translation.
-
-2009-02-07  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-
-2009-02-06  Clytie Siddall 
-
-	* vi.po: Updated Vietnamese translation.
-
-2009-02-03  Chao-Hsiung Liao  
-
-	* zh_HK.po: Updated Traditional Chinese translation(Hong Kong).
-	* zh_TW.po: Updated Traditional Chinese translation(Taiwan).
-
-2009-02-02  Jorge Gonzalez  
-
-	* es.po: Updated Spanish translation.
-
-2009-02-01  Matthew Barnes  
-
-	* POTFILES.in: Add libedataserverui/e-category-completion.c
-
-2009-01-31  Gabor Kelemen  
-
-	* hu.po: Translation updated.
-
-2009-01-24  Gil Forcada  
-
-	* ca.po: Updated Catalan translation by David Planella.
-
-2009-01-24  Andre Klapper  
-
-	* de.po: Updated German translation.
-
-2009-01-24  Changwoo Ryu  
-
-	* ko.po: Updated Korean translation.
-
-2009-01-22  Claude Paroz  
-
-	* fr.po: Updated French translation by Laurent Coudeur and Claude Paroz.
-
-2009-01-21  Yair Hershkovitz  
-
-	* he.po: Updated Hebrew translation.
-
-2009-01-21  Suman Manjunath  
-
-	** Fix for bug #541209
-
-	** Drop the libical fork in evolution-data-server
-	** Related changes in Makefiles
-
-	* POTFILES.skip:
-
-2009-01-19  Jorge Gonzalez  
-
-	* es.po: Updated Spanish translation.
-
-2009-01-18  Yair Hershkovitz  
-
-	* he.po: Updated Hebrew translation.
-
-2009-01-17  Luca Ferretti  
-
-	* it.po: Removed a spurious %s from a non c-format message.
-
-2009-01-13  Wadim Dziedzic  
-
-	* pl.po: Updated Polish translation
-
-2009-01-12  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-
-2009-01-11  Andre Klapper  
-
-	* de.po: Updated German translation.
-
-2009-01-05  Jorge Gonzalez  
-
-	* es.po: Updated Spanish translation
-
-2009-01-05  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-
-2008-12-16  Jorge Gonzalez  
-
-	* es.po: Updated Spanish translation.
-
-2008-12-09  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-
-2008-12-09  Luca Ferretti  
-
-	* it.po: Updated Italian translation.
-
-2008-12-04  Gabor Kelemen  
-
-	* hu.po: Translation updated.
-
-2008-11-03 Maxim Dziumanenko 
-
-	* uk.po: Update Ukrainian translation.
-
-2008-10-12  Jorge Gonzalez  
-
-	* es.po: Updated Spanish translation
-
-2008-10-11  Leonardo Ferreira Fontenelle  
-
-	* pt_BR.po: Fixed terminology in Brazilian Portuguese translation by
-	Vladimir Melo. Yes, more fixes!
-
-2008-10-11  Leonardo Ferreira Fontenelle  
-
-	* pt_BR.po: Fixed terminology in Brazilian Portuguese translation
-	by Vladimir Melo.
-
-2008-10-07  Ignacio Casal Quinteiro  
-
-	* gl.po: Updated Galician translation
-
-2008-10-07  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin
-
-2008-10-06 Og Maciel 
-
-	* pt_BR.po: Updated Brazilian Portuguese translation by Vladimir Melo.
-
-2008-10-06  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-
-2008-09-26  Yair Hershkovitz  
-
-	* he.po: Updated Hebrew translation.
-
-2008-09-25 Og Maciel 
-
-	* pt_BR.po: Updated Brazilian Portuguese translation by Vladimir Melo.
-
-2008-09-21  Nickolay V. Shmyrev  
-
-	* ru.po: Updated Russian translation.
-
-2008-09-21  Wadim Dziedzic  
-
-	* pl.po: Updated Polish translation
-
-2008-09-21  Gabor Kelemen  
-
-	* hu.po: Translation updated.
-
-2008-09-21 Kenneth Nielsen 
-
-	* da.po: Updated Danish translation by Kenneth Nielsen
-
-2008-09-20  Luca Ferretti  
-
-	* it.po: Updated Italian translation.
-
-2008-09-20  Takeshi AIHANA 
-
-	* ja.po: Fixed wrong translations.
-
-2008-09-20  Goran Rakić  
-
-	* sr.po, sr@latin.po: Updated Serbian translation (by Igor Nestorović).
-
-2008-09-19  Žygimantas Beručka  
-
-	* lt.po: Updated Lithuanian translation.
-
-2008-09-18  Goran Rakić 
-
-	* sr.po, sr@latin.po: Updated Serbian Translation.
-
-2008-09-18  Djihed Afifi 
-
-	* ar.po: Updated Arabic Translation by Djihed Afifi.
-
-2008-09-17  I. Felix 
-
-	* ta.po:  Tamil Translation updated by Tirumurthi Vasudevan
-
-2008-09-16  Wouter Bolsterlee  
-
-	* nl.po: Updated Dutch translation by Tino Meinen.
-
-2008-09-16  Luca Ferretti  
-
-	* it.po: Updated Italian translation.
-
-2008-09-15  Gil Forcada  
-
-	* ca.po: Updated Catalan translation by David Planella.
-
-2008-09-15  Petr Kovar  
-
-	* cs.po: Updated Czech translation by Jiri Eischmann.
-
-2008-09-15  Djihed Afifi 
-
-	* ar.po: Updated Arabic Translation by Djihed Afifi.
-
-2008-09-14  Duarte Loreto 
-
-	* pt.po: Fixed Portuguese terminology.
-
-2008-09-14  Sandeep Shedmake  
-
-	* mr.po: Updated Marathi Translations.
-
-2008-09-14  Luca Ferretti  
-
-	* it.po: Updated Italian translation.
-
-2008-09-13  Daniel Nylander 
-
-	* sv.po: Updated Swedish translation.
-
-2008-09-13  Gabor Kelemen  
-
-	* hu.po: Translation updated.
-
-2008-09-10  Luca Ferretti  
-
-	* it.po: Updated Italian translation.
-
-2008-09-10  Theppitak Karoonboonyanan  
-
-	* th.po: Updated Thai translation.
-
-2008-09-10  Pema Geyleg  
-
-	* dz.po: Updated Dzongkha Translation
-
-2008-09-09  Alexander Shopov  
-
-	* bg.po: Updated Bulgarian translation by
-	Yavor Doganov 
-
-2008-09-09 Baris Cicek 
-
-	* tr.po: Updated Turkish translation
-
-2008-09-07  Robert Sedak  
-
-	* hr.po: Updated Croatian translation.
-
-2008-09-07  Philip Withnall  
-
-	* en_GB.po: Updated British English translation.
-
-2008-09-06  Funda Wang  
-
-	* zh_CN.po: Updated zh_CN translation.
-
-2008-09-05  Andre Klapper  
-
-	* de.po: Updated German translation.
-
-2008-09-05  Changwoo Ryu  
-
-	* ko.po: Updated Korean translation.
-
-2008-08-29  Shankar Prasad 
-
-	* kn.po: Updated Kannada translation.
-
-2008-08-28  Daniel Nylander 
-
-	* sv.po: Updated Swedish translation.
-
-2008-08-27  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-
-2008-08-27  Ilkka Tuohela 
-
-	* fi.po: Updated Finnish translation.
-
-
-2008-08-25  Goran Rakic  
-
-	* LINGUAS, sr@latin.po, sr@Latn.po: Conversion from sr@Latn to sr@latin.
-
-2008-08-25  Runa Bhattacharjee 
-
-	* bn_IN.po: Updated Bengali India Translation
-
-2008-08-24  Leonardo Ferreira Fontenelle  
-
-	* pt_BR.po: Updated Brazilian Portuguese translation.
-
-2008-08-24  Takeshi AIHANA 
-
-	* ja.po: Updated Japanese translation.
-
-2008-08-22  Inaki Larranaga Murgoitio  
-
-	* eu.po: Updated Basque translation.
-
-2008-08-22  Robert-André Mauchin  
-
-	* fr.po: Updated French translation.
-
-2008-08-19  Ignacio Casal Quinteiro  
-
-	* gl.po: Updated Galician translation
-
-2008-08-19  Theppitak Karoonboonyanan  
-
-	* th.po: Updated Thai translation.
-
-2008-08-19  Shankar Prasad  
-
-	* kn.po: Updated Kannada translation
-
-2008-08-18  Jorge Gonzalez  
-
-	* es.po: Updated Spanish translation
-
-2008-08-15  Kjartan Maraas  
-
-	* POTFILES.in: Add missing files.
-	* nb.po: Updated Norwegian bokmål translation.
-
-2008-08-14  Shankar Prasad  
-
-	* kn.po: Updated Kannada Translation.
-
-2008-08-12  Chao-Hsiung Liao  
-
-	* zh_HK.po: Updated Traditional Chinese translation(Hong Kong).
-	* zh_TW.po: Updated Traditional Chinese translation(Taiwan).
-
-2008-08-11  Duarte Loreto 
-
-	* pt.po: Updated Portuguese translation.
-
-2008-08-11  Ilkka Tuohela <>
-
-	* fi.po: Updated Finnish translation.
-
-2008-08-08  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin
-
-2008-08-06  Takeshi AIHANA 
-
-	* ja.po: Updated Japanese translation.
-
-2008-08-6  Djihed Afifi 
-
-	* ar.po: Updated Arabic Translation by Djihed Afifi.
-
-2008-08-03  Jorge Gonzalez  
-
-	* es.po: Updated Spanish translation
-
-2008-08-02  Ignacio Casal Quinteiro  
-
-	* gl.po: Updated Galician translation
-
-2008-07-29  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-
-2008-07-29  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin
-
-2008-07-29  Djihed Afifi 
-
-	* ar.po: Updated Arabic Translation by Djihed Afifi.
-
-2008-07-28  Ignacio Casal Quinteiro  
-
-	* gl.po: Updated Galician Translation.
-
-2008-07-26  Jonh Wendell  
-
-	* pt_BR.po: Fixed translation of "lock" and "unlock".
-
-2008-07-24  Leonardo Ferreira Fontenelle  
-
-	* pt_BR.po: Terminology fixes by Fabrício Godoy.
-
-2008-07-24  Claude Paroz  
-
-	* fr.po: Updated French translation by Bruno Brouard.
-
-2008-07-21  Andre Klapper  
-
-	* POTFILES.in: Add missing files.
-
-2008-07-20  Jorge Gonzalez  
-
-	* es.po: Updated Spanish translation
-
-2008-07-20  Ignacio Casal Quinteiro  
-
-	* gl.po: Updated Galician Translation.
-
-2008-07-20  Jorge Gonzalez  
-
-	* es.po: Updated Spanish translation
-
-2008-07-19  Ignacio Casal Quinteiro  
-
-	* gl.po: Updated Galician Translation.
-
-2008-07-18  Andre Klapper  
-
-	* de.po: Updated German translation.
-
-2008-07-18  Andre Klapper  
-
-	* POTFILES.in: Add missing files.
-
-2008-07-18  Yair Hershkovitz  
-
-	* he.po: Updated Hebrew translation.
-
-2008-07-13  Ignacio Casal Quinteiro  
-
-	* gl.po: Updated Galician Translation.
-
-2008-07-03  Yannig Marchegay 
-
-	* oc.po: Updated Occitan translation.
-
-2008-06-25  Kjartan Maraas  
-
-	* POTFILES.in: Remove missing file.
-	* nb.po: Updated.
-
-2008-06-21  Jorge Gonzalez  
-
-	* es.po: Updated Spanish translation
-
-2008-06-21  Yair Hershkovitz  
-
-	* he.po: Updated Hebrew translation.
-
-2008-06-11  Djihed Afifi 
-
-	* ar.po: Updated Arabic Translation by Djihed Afifi.
-
-2008-06-05  Roozbeh Pournader  
-
-	* 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  
-
-	* en_GB.po: Updated British English translation.
-
-2008-05-25  Philip Withnall  
-
-	* en_GB.po: Updated British English translation.
-
-2008-05-25  Clytie Siddall 
-
-	* vi.po: Updated Vietnamese translation.
-
-2008-05-25  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin
-
-2008-05-24  Vincent van Adrighem  
-
-	* nl.po: Translation updated by Tino Meinen.
-
-2008-05-24  Gil Forcada  
-
-	* ca.po: Updated Catalan translation.
-
-2008-05-24  Jorge Gonzalez  
-
-	* es.po: Updated Spanish translation
-
-2008-05-23  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-
-2008-05-22  Djihed Afifi 
-
-	* ar.po: Updated Arabic Translation by Djihed Afifi.
-
-2008-05-22  Jorge Gonzalez  
-
-	* es.po: Updated Spanish translation
-
-2008-05-22  Yair Hershkovitz  
-
-	* he.po:  Updated Hebrew translation.
-
-2008-05-19  Djihed Afifi 
-
-	* ar.po: Updated Arabic Translation by Djihed Afifi.
-
-2008-05-18  Theppitak Karoonboonyanan  
-
-	* th.po: Updated Thai translation.
-
-2008-05-14  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-
-2008-05-13  Vincent van Adrighem  
-
-	* nl.po: Translation updated by Tino Meinen.
-
-2008-05-10  Yair Hershkovitz  
-
-	* he.po:  Updated Hebrew translation.
-
-2008-05-09  Jorge Gonzalez 
-
-	* es.po: Updated Spanish translation
-
-2008-05-02  Yair Hershkovitz  
-
-	* he.po:  Updated Hebrew translation.
-
-2008-04-30  Yair Hershkovitz  
-
-	* he.po:  Updated Hebrew translation.
-
-2008-04-30  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-
-2008-04-29  Ignacio Casal Quinteiro  
-
-	* gl.po: Updated Galician Translation.
-
-2008-04-26  Jorge Gonzalez  
-
-	* es.po: Updated Spanish translation
-
-2008-04-20  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin
-
-2008-04-19  Jorge Gonzalez  
-
-	* es.po: Updated Spanish translation
-
-2008-04-19  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-
-2008-04-07  Yuriy Penkin 
-
-	* ru.po: Updated Russian translation.
-
-2008-03-25  Philip Withnall  
-
-	* en_GB.po: Updated British English translation.
-
-2008-03-16  Jorge Gonzalez  
-
-	* es.po: Updated Spanish translation
-
-2008-03-12  Sunil Mohan Adapa  
-
-	* te.po: Updated Telugu translation done by
-	Krishna Babu K .
-
-2008-03-11  Alexander Shopov  
-
-	* bg.po: Updated Bulgarian translation by
-	Yavor Doganov 
-
-2008-03-08  Kenneth Nielsen  
-
-	* da.po: Updated Danish translation
-
-2008-03-08  Laurent Dhima  
-
-	* sq.po: Updated Albanian Translation.
-
-2008-03-07 Maxim Dziumanenko 
-
-	* uk.po: Update Ukrainian translation.
-
-2008-03-06  Ankit Patel  
-
-	* gu.po: Updated Gujarati Translation.
-
-2008-03-05  Rahul Bhalerao 
-
-	* mr.po: Updated Marathi Translations by Sandeep Shedmake.
-
-2008-03-04  Gil Forcada  
-
-	* ca.po: Updated Catalan translation by David Planella.
-
-2008-03-04  Gabor Kelemen  
-
-	* hu.po: Translation updated
-
-2008-03-02  Philip Withnall  
-
-	* en_GB.po: Updated British English translation.
-
-2008-03-02  Gintautas Miliauskas  
-
-	* lt.po: Updated Lithuanian translation.
-
-2008-03-01  Jorge Gonzalez  
-
-	* es.po: Updated Spanish translation
-
-2008-02-27  Djihed Afifi 
-
-	* ar.po: Updated Arabic Translation by Djihed Afifi.
-
-2008-02-27  Vincent van Adrighem  
-
-	* nl.po: Translation updated by Tino Meinen.
-
-2008-02-26  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-
-2008-02-23  Luca Ferretti  
-
-	* it.po: Updated Italian translation.
-
-2008-02-22  Luca Ferretti  
-
-	* it.po: Updated Italian translation.
-
-2008-02-22  Petr Kovar  
-
-	* cs.po: Updated Czech translation by Jiri Eischmann.
-
-2008-02-22  Jonh Wendell  
-
-	* pt_BR.po: Brazilian Portuguese translation updated by Washington Lins.
-
-2008-02-21  Changwoo Ryu  
-
-	* ko.po: Updated Korean translation.
-
-2008-02-18  Jorge Gonzalez  
-
-	* es.po: Updated Spanish translation
-
-2008-02-18  Ilkka Tuohela 
-
-	* fi.po: Updated Finnish translation.
-
-2008-02-17 Baris Cicek 
-
-	* tr.po: Updated Turkish translation
-
-2008-02-16  Wadim Dziedzic  
-
-	* pl.po: Updated polish translation
-
-2008-02-16  Changwoo Ryu  
-
-	* ko.po: Updated Korean translation.
-
-2008-02-15  Runa Bhattacharjee 
-
-	* kn.po: Added Kannada Translations by Shankar Prasad
-	* LINGUAS: Added Kannads (kn) to the List of Languages.
-
-2008-02-15  Stéphane Raimbault  
-
-	* fr.po: Updated French translation by Robert-André Mauchin and
-	Stéphane Raimbault.
-
-2008-02-14  Ignacio Casal Quinteiro  
-
-	* gl.po: Updated Galician Translation.
-
-2008-02-14  Pawan Chitrakar 
-
-	* ne.po: Updated Nepali Translation.
-
-2008-02-13  Ilkka Tuohela 
-
-	* fi.po: Updated Finnish translation.
-
-2008-02-09 Arangel Angov 
-
-	* mk.po: Updated Macedonian translation.
-
-2008-02-08  Inaki Larranaga Murgoitio  
-
-	* eu.po: Updated Basque translation.
-
-2008-02-06  Theppitak Karoonboonyanan  
-
-	* th.po: Updated Thai translation.
-
-2008-02-06  Chao-Hsiung Liao  
-
-	* zh_HK.po: Updated Traditional Chinese translation(Hong Kong).
-	* zh_TW.po: Updated Traditional Chinese translation(Taiwan).
-
-2008-02-05  Bastien Nocera  
-
-	* en_GB.po: Fix Wastebasket/Trash (Closes: #514555)
-
-2008-02-05  Duarte Loreto 
-
-	* pt.po: Updated Portuguese translation.
-
-2008-02-03  Takeshi AIHANA 
-
-	* ja.po: Updated Japanese translation.
-
-2008-02-03  Andre Klapper  
-
-	* de.po: Updated German translation.
-
-2008-02-02  Yannig Marchegay 
-
-	* oc.po: Updated Occitan translation.
-
-2008-01-31  Djihed Afifi 
-
-	* ar.po: Updated Arabic Translation by Anas Husseini.
-
-2008-01-27  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-
-2008-01-27  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin
-
-2008-01-26  Jorge Gonzalez  
-
-	* es.po: Updated Spanish translation
-
-2008-01-24  Daniel Nylander 
-
-	* sv.po: Updated Swedish translation.
-
-2008-01-23  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin
-
-2008-01-21  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-
-2008-01-18  Inaki Larranaga Murgoitio  
-
-	* eu.po: Updated Basque translation.
-
-2008-01-18  Jorge Gonzalez  
-
-	* es.po: Updated Spanish translation
-
-2008-01-17  Daniel Nylander 
-
-	* sv.po: Updated Swedish translation.
-
-2008-01-16  Jorge Gonzalez  
-
-	* es.po: Updated Spanish translation
-
-2008-01-05  Inaki Larranaga Murgoitio  
-
-	* eu.po: Updated Basque translation.
-
-2008-01-05  Leonardo Ferreira Fontenelle  
-
-	* pt_BR.po: Brazilian Portuguese translation updated by Washington
-	Lins.
-
-2008-01-05  Clytie Siddall 
-
-	* vi.po: Updated Vietnamese translation.
-
-2007-12-31  Yannig Marchegay 
-
-	* oc.po: Updated Occitan translation.
-
-2007-12-31  Wadim Dziedzic  
-
-	* pl.po: Updated polish translation
-
-2007-12-29  Daniel Nylander 
-
-	* sv.po: Updated Swedish translation.
-
-2007-12-28  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin echo
-
-2007-12-24  Wadim Dziedzic  
-
-	* pl.po: Unification of Polish date format strings
-
-2007-12-20  Seán de Búrca  
-
-	* ga.po: Updated Irish translation.
-
-2007-12-19  Andre Klapper  
-
-	* de.po: Updated German translation.
-
-2007-12-18  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2007-12-17  Luca Ferretti  
-
-	* it.po: Updated Italian translation.
-
-2007-12-15  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-
-2007-12-11  Jorge Gonzalez  
-
-	* es.po: Updated Spanish translation
-
-2007-12-10  Matej Urbančič  
-
-	* sl.po: Updated Slovenian Translation.
-
-2007-12-09  Jorge Gonzalez  
-
-	* es.po: Updated Spanish translation
-
-2007-12-07  Andre Klapper  
-
-	* de.po: Updated German translation.
-
-2007-12-06  Kjartan Maraas  
-
-	* POTFILES.in: Add missing file.
-	* nb.po: Updated Norwegian bokmål translation.
-
-2007-12-06  Jorge Gonzalez  
-
-	* es.po: Updated Spanish translation
-
-2007-12-03  Changwoo Ryu  
-
-	* ko.po: Updated Korean translation.
-
-2007-11-27  Matej Urbančič  
-
-	* sl.po: Updated Slovenian translation.
-
-2007-11-25  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2007-11-21  Yannig Marchegay 
-
-	* oc.po: Updated Occitan translation
-
-2007-11-14  Jorge Gonzalez  
-
-	* es.po: Updated Spanish translation
-
-2007-11-13  Matej Urbančič 
-
-	* sl.po: Updated Slovenian Translation.
-
-2007-11-05  Milan Crha  
-
-	** Fix for bug #344516
-
-	* he.po: Updated translation of date format for formatting.
-
-2007-11-03  Ignacio Casal Quinteiro  
-
-	* gl.po: Updated Galician Translation.
-
-2007-11-01  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2007-10-29  Jordi Mas 
-
-	* ca.po: Fixes spelling mistakes
-
-2007-10-27  Matthew Barnes  
-
-	* POTFILES.in:
-	Remove servers/exchange/lib/e2k-user-dialog.c.
-
-2007-10-26  Matthew Barnes  
-
-	* 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 
-
-	* ar.po: Updated Arabic Translation by Anas Husseini.
-
-2007-10-21  Djihed Afifi 
-
-	* ar.po: Updated Arabic Translation by Anas Husseini.
-
-2007-10-15  Matej Urbančič  
-
-	* sl.po: Updated Slovenian translation.
-
-2007-10-15  Alexander Shopov  
-
-	* bg.po: Updated Bulgarian translation by
-	Yavor Doganov 
-
-2007-10-10  Theppitak Karoonboonyanan  
-
-	* th.po: Updated Thai translation.
-
-2007-09-30  Ignacio Casal Quinteiro  
-
-	* gl.po: Updated Galician Translation.
-
-2007-09-23  Ilkka Tuohela  
-
-	* fi.po: Updated Finnish translation (fix for bug #479330).
-
-2007-09-16  Nickolay V. Shmyrev  
-
-	* ru.po: Updated Russian translation.
-
-2007-09-16  Gil Forcada  
-
-	* ca.po: Updated Catalan translation by David Planella.
-
-2007-09016  Amitakhya Phukan 
-
-	* LINGUAS: Added as to LINGUAS
-	* as.po: Added and updated assamese translations.
-
-2007-09-15  Mugurel Tudor  
-
-	* ro.po: Updated Romanian translation
-
-2007-09-13  Djihed Afifi 
-
-	* ar.po: Updated Arabic Translation by .
-
-2007-09-13  Laurent Dhima  
-
-	* sq.po: Updated Albanian translation.
-
-2007-09-13 Gabor Kelemen  
-
-	* hu.po: Translation updated.
-
-2007-09-13  Jamil Ahmed  
-
-	* bn.po: Updated Bengali Translation.
-
-2007-09-11  Goran Rakić  
-
-	* sr.po, sr@Latn.po: Updated Serbian translation (by Igor Nestorović).
-
-2007-09-10 Maxim Dziumanenko 
-
-	* uk.po: Update Ukrainian translation.
-
-2007-09-09  Kenneth Nielsen  
-
-	* da.po: Updated Danish translation
-
-2007-09-07  Raphael Higino  
-
-	* pt_BR.po: Updated Brazilian Portuguese translation
-	by Washington Lins .
-
-2007-09-07  Clytie Siddall 
-
-	* vi.po: Updated Vietnamese translation.
-
-2007-09-06  Jovan Naumovski  
-
-	* mk.po: Updated Macedonian translation.
-
-2007-09-06  Luca Ferretti  
-
-	* it.po: Updated Italian translation.
-
-2007-09-04  Runa Bhattacharjee 
-
-	* bn_IN.po: Updated Bengali India Translation.
-
-2007-09-03  Andre Klapper  
-
-	* de.po: Updated German translation.
-
-2007-09-03  Stéphane Raimbault  
-
-	* fr.po: Updated French translation.
-
-2007-09-02  Theppitak Karoonboonyanan  
-
-	* th.po: Updated Thai translation.
-	* ChangeLog: Fix newlines in Clytie's recent entry.
-
-2007-09-02  Clytie Siddall 
-
-	* vi.po: Updated Vietnamese translation.
-
-2007-09-02  Duarte Loreto 
-
-	* pt.po: Updated Portuguese translation.
-
-2007-08-31  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-
-2007-08-30  Takeshi AIHANA 
-
-	* ja.po: Updated Japanese translation.
-
-2007-08-30  Priit Laes  
-
-	* et.po: Estonian translation updates by Ivar Smolin 
-
-2007-08-29  Ilkka Tuohela  
-
-	* fi.po: Updated Finnish translation.
-
-2007-08-29  Ankit Patel  
-
-	* gu.po: Updated Gujarati Translation.
-
-2007-08-29  I. Felix 
-
-	* ta.po:  Tamil Translation updated by Tirumurthi Vasudevan
-
-2007-08-29  Wadim Dziedzic  
-
-	* pl.po: Updated Polish translation
-
-2007-08-28  Jorge Gonzalez  
-
-	* es.po: Updated Spanish translation
-
-2007-08-28  Daniel Nylander 
-
-	* sv.po: Updated Swedish translation.
-
-2007-08-28  Ross Burton  
-
-	* POTFILES.in:
-	Add servers/exchange/lib/e2k-user-dialog.c (#469732)
-
-2007-08-28  Jorge Gonzalez  
-
-	* es.po: Updated Spanish translation
-
-2007-08-28  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-
-2007-08-26 Gabor Kelemen  
-
-	* hu.po: Translation updated.
-
-2007-08-23  Adam Weinberger  
-
-	* POTFILES.skip: Add missing file.
-	* en_CA.po: Updated Canadian English translation.
-
-2007-08-19  Duarte Loreto 
-
-	* pt.po: Updated Portuguese translation.
-
-2007-08-19  Leonardo Ferreira Fontenelle  
-
-	* pt_BR.po: Brazilian Portuguese translation updated by Washington
-	Lins  and myself, and reviewd by Raul
-	Pereira  and myself.
-
-2007-08-19  Matthew Barnes  
-
-	* POTFILES.in: Remove servers/exchange/lib/e2k-user-dialog.c;
-	it's no longer distributed.
-
-2007-08-18  Daniel Nylander 
-
-	* sv.po: Updated Swedish translation.
-
-2007-08-17  Hendrik Richter  
-
-	* de.po: Updated German translation.
-
-2007-08-17  Hendrik Richter  
-
-	* de.po: Updated German translation, by
-	Andre Klapper 
-
-2007-08-16  Priit Laes  
-
-	* et.po: Estonian translation update by Ivar Smolin.
-
-2007-08-16  Ankit Patel  
-
-	* gu.po: Updated Gujarati Translation.
-
-2007-08-16  Takeshi AIHANA 
-
-	* ja.po: Updated Japanese translation.
-
-2007-08-15  Stéphane Raimbault  
-
-	* fr.po: Update French translation by Claude Paroz and Stéphane
-	Raimbault.
-
-2007-08-14  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-
-2007-08-14  I. Felix 
-
-	* ta.po:  Tamil Translation updated by Tirumurthi Vasudevan
-
-2007-08-14  Theppitak Karoonboonyanan  
-
-	* th.po: Updated Thai translation.
-
-2007-08-14  Jorge Gonzalez 
-
-	* es.po: Updated Spanish translation
-
-2007-08-13  Ilkka Tuohela  
-
-	* fi.po: Updated Finnish translation.
-
-2007-08-12  Jorge Gonzalez 
-
-	* es.po: Updated Spanish translation
-
-2007-08-11  Daniel Nylander 
-
-	* sv.po: Updated Swedish translation.
-
-2007-08-10  Jorge Gonzalez 
-
-	* es.po: Updated Spanish translation
-
-2007-08-10  Ankit Patel  
-
-	* gu.po: Updated Gujarati Translation.
-
-2007-08-09  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-
-2007-08-06  Ilkka Tuohela  
-
-	* fi.po: Updated Finnish translation.
-
-2007-08-06  Ankit Patel  
-
-	* gu.po: Updated Gujarati Translation.
-
-2007-08-05  Takeshi AIHANA 
-
-	* ja.po: Updated Japanese translation.
-
-2007-08-05  Jorge Gonzalez 
-
-	* es.po: Updated Spanish translation
-
-2007-08-03  Runa Bhattacharjee 
-
-	* bn_IN.po: Updated Bengali India Translation.
-
-2007-08-03  Danishka Navin  
-
-	* si.po: Added Sinhala translation by Danishka Navin
-	* LINGUAS: Added "si".
-
-2007-08-01  Daniel Nylander 
-
-	* sv.po: Updated Swedish translation.
-
-2007-08-01  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-
-2007-08-01  Ankit Patel  
-
-	* gu.po: Updated Gujarati Translation.
-
-2007-08-01  Priit Laes  
-
-	* et.po: Estonian translation update by Ivar Smolin.
-
-2007-07-30  Jorge Gonzalez 
-
-	* es.po: Updated Spanish translation
-
-2007-07-30  Theppitak Karoonboonyanan  
-
-	* th.po: Updated Thai translation.
-
-2007-07-28  Inaki Larranaga Murgoitio  
-
-	* eu.po: Updated Basque translation
-
-2007-07-24  Andre Klapper  
-
-	* de.po: German translation update.
-
-2007-07-24  Priit Laes  
-
-	* et.po: Estonian translation update by Ivar Smolin.
-
-2007-07-23  Sunil Mohan Adapa  
-
-	* te.po: Added Telugu translation done by
-	Pramod .
-
-2007-07-18  Wouter Bolsterlee  
-
-	* nl.po: Translation updated by Wouter Bolsterlee.
-
-2007-07-17  Daniel Nylander 
-
-	* sv.po: Updated Swedish translation.
-
-2007-07-16  Ilkka Tuohela  
-
-	* fi.po: Updated Finnish translation.
-
-2007-07-13  Priit Laes  
-
-	* et.po: Estonian translation update by Ivar Smolin.
-
-2007-07-09  I. Felix 
-
-	* ta.po:  Tamil Translation updated by Tirumurthi Vasudevan
-
-2007-07-06  Ankit Patel  
-
-	* gu.po: Updated Gujarati Translation.
-
-2007-07-04  Jorge Gonzalez 
-
-	* es.po: Updated Spanish translation
-
-2007-07-02  Nguyễn Thái Ngọc Duy 
-
-	* vi.po: Updated Vietnamese translation.
-
-2007-07-01  Nguyễn Thái Ngọc Duy 
-
-	* vi.po: Updated Vietnamese translation.
-
-2007-06-26  Clytie Siddall 
-
-	* vi.po: Updated Vietnamese translation.
-
-2007-06-21  Daniel Nylander 
-
-	* sv.po: Updated Swedish translation.
-
-2007-06-21  Funda Wang  
-
-	* zh_CN.po: Updated Simplified Chinese translation.
-
-2007-06-20  Daniel Nylander 
-
-	* sv.po: Updated Swedish translation.
-
-2007-06-18  I Felix  
-
-	* ta.po: Updated Tamil Translation.
-
-2007-06-17  Priit Laes  
-
-	* et.po: Estonian translation update by Ivar Smolin.
-
-2007-06-13  Pema Geyleg 
-
-	* dz.po: Updated dzongkha translation.
-
-2007-06-04  Jorge Gonzalez 
-
-	* es.po: Updated spanish translation.
-
-2007-06-04  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-
-2007-05-29  Theppitak Karoonboonyanan  
-
-	* th.po: Updated Thai translation.
-
-2007-05-23  Hendrik Richter  
-
-	* de.po: Updated German translation, fix #438765.
-
-2007-05-15  David Lodge 
-
-	* en_GB.po: Updated British English translation
-
-2007-05-14  Daniel Nylander 
-
-	* sv.po: Updated Swedish translation.
-
-2007-05-12 Jorge Gonzalez 
-
-	* es.po: Updated Spanish translation.
-
-2007-05-08  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-
-2007-05-03  Jorge Gonzalez 
-
-	* es.po: Updated Spanish translation.
-
-2007-04-23  Daniel Nylander 
-
-	* sv.po: Updated Swedish translation.
-
-2007-04-23  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-
-2007-04-22  Jorge Gonzalez 
-
-	* es.po: Updated Spanish translation
-
-2007-04-22  David Lodge 
-
-	* en_GB.po: Updated British English translation
-
-2007-04-17  Funda Wang  
-
-	* zh_CN.po: Updated Simplified Chinese translation from Yang Zhang.
-
-2007-04-14  Djihed Afifi 
-
-	* ar.po: Updated Arabic Translation by .
-
-2007-03-28  Duarte Loreto 
-
-	* pt.po: Fixed error in Portuguese translation.
-
-2007-03-14  Laurent Dhima  
-
-	* sq.po: Updated Albanian translation.
-
-2007-03-12  Goran Rakić  
-
-	* sr.po, sr@Latn.po: Updated Serbian translation, by
-	Igor Nestorović 
-
-2007-03-10  Mugurel Tudor  
-
-	* ro.po: Updated Romanian translation, again
-
-2007-03-10  Mugurel Tudor  
-
-	* ro.po: Updated Romanian translation
-
-2007-03-09  Vincent van Adrighem  
-
-	* nl.po: Translation updated by Tino Meinen.
-
-2007-03-08  Alexander Shopov  
-
-	* bg.po: Updated Bulgarian translation by
-	Alexander Shopov 
-
-2007-03-06  Jovan Naumovski  
-
-	* mk.po: Updated Macedonian translation.
-
-2007-03-05  Takeshi AIHANA 
-
-	* ja.po: Updated Japanese translation.
-
-2007-03-05 Maxim Dziumanenko 
-
-	* uk.po: Update Ukrainian translation.
-
-2007-03-04  Gintautas Miliauskas  
-
-	* lt.po: Updated Lithuanian translation.
-
-2007-03-04  Chao-Hsiung Liao  
-
-	* zh_HK.po: Updated Traditional Chinese translation(Hong Kong).
-	* zh_TW.po: Updated Traditional Chinese translation(Taiwan).
-
-2007-03-01  Ankit Patel  
-
-	* gu.po: Updated Gujarati Translation.
-
-2007-02-27  Leonid Kanter 
-
-	* ru.po: Updated Russian translation
-
-2007-02-27  Gintautas Miliauskas  
-
-	* lt.po: Updated Lithuanian translation.
-
-2007-02-25  Gabor Kelemen  
-
-	* hu.po: Translation updated.
-
-2007-02-24  Luca Ferretti  
-
-	* it.po: Updated Italian translation.
-
-2007-02-19  Artur Flinta  
-
-	* pl.po: Updated Polish translation by GNOME PL Team.
-
-2007-02-18  Priit Laes  
-
-	* et.po: Updated Estonian translation by Ivar Smolin .
-
-2007-02-10  Duarte Loreto 
-
-	* pt.po: Updated Portuguese translation.
-
-2007-02-9  Djihed Afifi 
-
-	* ar.po: Updated Arabic Translation by Ahmad Farghal.
-
-2007-02-9  Pema Geyleg  
-
-	* dz.po: Updated dzongkha translation.
-
-2007-02-8  Djihed Afifi 
-
-	* ar.po: Updated Arabic Translation by Khaled Hosny.
-
-2007-02-08  Changwoo Ryu  
-
-	* ko.po: Updated Korean translation.
-
-2007-02-06  Daniel Nylander 
-
-	* sv.po: Updated Swedish translation.
-
-2007-02-02  Raphael Higino  
-
-	* pt_BR.po: Updated Brazilian Portuguese translation.
-
-2007-01-26  Hendrik Richter  
-
-	* de.po: Updated German translation.
-
-2007-01-24  Priit Laes  
-
-	* et.po: Committed right file.
-
-2007-01-24  Priit Laes  
-
-	* et.po: Updated Estonian translation by Ivar Smolin .
-
-2007-01-18  Stéphane Raimbault  
-
-	* fr.po: Updated French translation. Some minor fixes.
-
-2007-01-13  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin .
-
-2007-01-09  Daniel Nylander 
-
-	* sv.po: Updated Swedish translation.
-
-2007-01-05  Clytie Siddall 
-
-	* vi.po: Updated Vietnamese translation.
-
-2007-01-01  Christophe Fergeau  
-
-	* fr.po: Updated French translation, commit on behalf of Stephane
-	Raimbault 
-
-2006-12-29  David Lodge 
-
-	* en_GB.po: Updated English (British) translation
-
-2006-12-29  Theppitak Karoonboonyanan  
-
-	* th.po: Updated Thai translation.
-
-2006-12-28  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-
-2006-12-24  Djihed Afifi 
-
-	* ar.po: Updated Arabic Translation.
-
-2006-12-23  Djihed Afifi 
-
-	* ar.po: Updated Arabic Translation.
-
-2006-12-22  Djihed Afifi 
-
-	* ar.po: Updated Arabic Translation.
-
-2006-12-19  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2006-12-18  Djihed Afifi 
-
-	* ar.po: Updated Arabic Translation.
-
-2006-12-09  Ilkka Tuohela  
-
-	* fi.po: Updated Finnish translation.
-
-2006-11-28  Alexander Shopov  
-
-	* bg.po: Updated Bulgarian translation by
-	Alexander Shopov 
-
-2006-11-24  Josep Puigdemont i Casamajó  
-
-	* ca.po: Updated Catalan translation.
-
-2006-11-22  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2006-11-19  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2006-11-11  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2006-11-11  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2006-10-27  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2006-10-24  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2006-10-19  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2006-10-15  Ilkka Tuohela  
-
-	* fi.po: Updated Finnish translation.
-
-2006-10-15  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2006-10-12  Ignacio Casal Quinteiro  
-
-	* gl.po: Updated Galician Translation.
-
-2006-10-09  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2006-10-07  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2006-10-05  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2006-09-27  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2006-09-25  Marco Ciampa  
-
-	* it.po: Updated Italian translation.
-
-2006-09-19  Luca Ferretti  
-
-	* it.po: Updated Italian translation.
-
-2006-09-17  Åsmund Skjæveland  
-
-	* nn.po: Updated Norwegian Nynorsk translation.
-
-2006-09-13  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2006-09-10  David Lodge 
-
-	* en_GB.po: Updated English (British) translation.
-
-2006-09-08  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2006-09-05  Åsmund Skjæveland  
-
-	* nn.po: Updated Norwegian Nynorsk translation.
-
-2006-09-04  Abel Cheung  
-
-	* zh_HK.po: Updated Chinese (Hong Kong) translation from
-	Woodman Tuen .
-	* zh_TW.po: Updated Chinese (Taiwan) translation from
-	Woodman Tuen .
-
-2006-09-03 Ani Peter  
-
-	* ml.po: Updated Malayalam translation
-
-2006-09-02 Kostas Papadimas 
-
-	* el.po: Updated Greek Translation
-
-2006-09-01  Runa Bhattacharjee 
-
-	* bn_IN.po: Fixed Some typos.
-
-2006-09-01  Ani Peter 
-
-	* ml.po: Updated Malayalam translation
-
-2006-09-01  F.Priyadharsini  
-
-	* ta.po: Updated Tamil translation
-
-2006-08-31  Ani Peter  
-
-	* ml.po: Updated Malayalam translation
-
-2006-08-31  Jovan Naumovski  
-
-	* mk.po: Updated Macedonian translation.
-
-2006-08-30  Jovan Naumovski  
-
-	* mk.po: Updated Macedonian translation.
-
-2006-08-30  Gabor Kelemen  
-
-	* hu.po: Translation updated.
-
-2006-08-30  Duarte Loreto 
-
-	* pt.po: Updated Portuguese translation.
-
-2006-08-29  Rajesh Ranjan 
-
-	* hi.po: Updated Hindi Translation.
-
-2006-08-29  Subhransu Behera  
-
-	* or.po: Updated Oriya Translation.
-
-2006-08-28  Christophe Merlet  
-
-	* fr.po: Updated French translation from
-	Robert-André Mauchin .
-
-2006-08-27  Jamil Ahmed  
-
-	* bn.po: Updated Bengali Translation.
-
-2006-08-25  Hendrik Richter  
-
-	* de.po: Updated German translation, fix #343501.
-
-2006-08-25  Raivis Dejus  
-
-	* lv.po: Updated Latvian translation.
-
-2006-08-24  Subhransu Behera  
-
-	* or.po: Updated Oriya Translation.
-
-2006-08-24  Subhransu Behera  
-
-	* or.po: Added and Updated Oriya Translation.
-	* LINGUAS: Added Oriya (or) to The List of Languages.
-
-2006-08-23  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2006-08-20  Hendrik Richter  
-
-	* de.po: Updated German translation, by
-	Christian Kintner 
-
-2006-08-20  Hendrik Richter  
-
-	* de.po: Updated German translation, by
-	Christian Kintner 
-
-2006-08-20  Alexander Shopov  
-
-	* bg.po: Updated Bulgarian translation by
-	Alexander Shopov 
-
-2006-08-20  Rahul Bhalerao  
-
-	* mr.po: Updated Marathi translation
-
-2006-08-18  Satoru SATOH 
-
-	* ja.po: Updated Japanese translation.
-
-2006-08-17  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation
-
-2006-08-16  Artur Flinta  
-
-	* pl.po: Updated Polish translation by GNOME PL Team.
-
-2006-08-16  Žygimantas Beručka  
-
-	* lt.po: Updated Lithuanian translation.
-
-2006-08-16  Žygimantas Beručka  
-
-	* lt.po: Updated Lithuanian translation.
-
-2006-08-16  Daniel Nylander 
-
-	* sv.po: Updated Swedish translation.
-
-2006-08-16  Runa Bhattacharjee 
-
-	* bn_IN.po: Updated Bengali India Translation.
-
-2006-08-16  Gabor Kelemen  
-
-	* hu.po: Translation updated.
-
-2006-08-15  Leonid Kanter 
-
-	* ru.po: Updated Russian translation
-
-2006-08-14  Matic Žgur  
-
-	* sl.po: Updated Slovenian translation.
-
-2006-08-13  Rahul Bhalerao  
-
-	* LINGUAS: Added entry for Marathi(mr)
-	* mr.po: Updated Marathi translations
-
-2006-08-13  Clytie Siddall 
-
-	* vi.po: Updated Vietnamese translation.
-
-2006-08-12  Funda Wang  
-
-	* zh_CN.po: Updated Simplified Chinese translation.
-
-2006-08-12  Changwoo Ryu  
-
-	* ko.po: Updated Korean translation.
-
-2006-08-11  Vladimer Sichinava  
-
-	* ka.po: Added Georgian translation.
-
-2006-08-11  Runa Bhattacharjee 
-
-	* bn_IN.po: Partial updation of Bengali India Translation.
-
-2006-08-10  Josep Puigdemont i Casamajó  
-
-	* ca.po: Update Catalan translation by
-	Xavier Conde Rueda 
-
-2006-08-10  Maxim Dziumanenko 
-
-	* uk.po: Update Ukrainian translation.
-
-2006-08-10  Guntupalli Karunakar  
-
-	* dz.po: Updated Dzongkha translation by
-	Dzongkhalinux team, DIT
-
-2006-08-09  Theppitak Karoonboonyanan  
-
-	* th.po: Updated Thai translation.
-
-2006-08-08  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2006-08-07  Inaki Larranaga  
-
-	* eu.po: Updated Basque translation.
-
-2006-08-05  Ahmad Riza H Nst  
-
-	* id.po: Updated.
-
-2006-08-03  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-
-2006-08-02  Jovan Naumovski  
-
-	* mk.po: Updated Macedonian translation.
-
-2006-07-30  Theppitak Karoonboonyanan  
-
-	* th.po: Updated Thai translation.
-
-2006-07-30  Christophe Merlet  
-
-	* fr.po: Updated French translation.
-
-2006-07-27  Ilkka Tuohela  
-
-	* fi.po: Updated Finnish translation.
-
-2006-07-26  Vincent van Adrighem  
-
-	* nl.po: Translation updated by Tino Meinen.
-
-2006-07-26  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2006-07-25  Ankit Patel  
-
-	* gu.po: Updated Gujarati Translation.
-
-2006-07-23  Funda Wang  
-
-	* zh_CN.po: Updated Simplified Chinese translation.
-
-2006-07-22  Christophe Merlet  
-
-	* fr.po: Updated French translation.
-
-2006-07-21  Christophe Merlet  
-
-	* fr.po: Updated French translation from
-	Jonathan Ernst .
-
-2006-07-19  Changwoo Ryu  
-
-	* ko.po: Updated Korean translation.
-
-2006-07-19  Kostas Papadimas 
-
-	* el.po: Updated Greek translation.
-
-2006-07-18  Guntupalli Karunakar  
-
-	* dz.po: Updated Dzongkha translation by
-	Dzongkhalinux team, DIT
-
-2006-07-17  Ilkka Tuohela  
-
-	* fi.po: Updated Finnish translation.
-
-2006-07-17  Ankit Patel  
-
-	* gu.po: Updated Gujarati Translation.
-
-2006-07-16  Daniel Nylander  
-
-	* sv.po: Updated Swedish translation.
-
-2006-07-14  Priit Laes  
-
-	* et.po: Translation updated.
-
-2006-07-14  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-
-2006-07-11  Raivis Dejus  
-
-	* lv.po: Updated Latvian translation.
-
-2006-07-07  Inaki Larranaga  
-
-	* eu.po: Updated Basque translation.
-
-2006-07-07  Ilkka Tuohela  
-
-	* fi.po: Updated Finnish translation.
-
-2006-07-04  Vincent van Adrighem  
-
-	* nl.po: Translation updated.
-
-2006-07-03  Runa Bhattacharjee 
-
-	* bn_IN.po: Added Bengali India Translation
-	* LINGUAS: Added Bengali India (bn_IN) to the list of languages.
-
-2006-07-03  Ilkka Tuohela  
-
-	* fi.po: Updated Finnish translation.
-
-2006-07-01  Ilkka Tuohela  
-
-	* fi.po: Updated Finnish translation.
-
-2006-06-30  Changwoo Ryu  
-
-	* ko.po: Updated Korean translation.
-
-2006-06-30  I.Felix  
-
-	* ta.po: Updated Tamil Translation.
-
-2006-06-29  Rajesh Ranjan 
-
-	* hi.po: Updated Hindi Translation.
-
-2006-06-28  Guntupalli Karunakar  
-
-	* dz.po: Updated Dzongkha translation
-	by Dzongkhalinux, DIT
-
-2006-06-27  Yair Hershkovitz  
-
-	* he.po:  Updated Hebrew translation.
-
-2006-06-26  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-
-2006-06-25  Chao-Hsiung Liao  
-
-	* zh_HK.po: Updated Traditional Chinese translation(Hong Kong).
-	* zh_TW.po: Updated Traditional Chinese translation(Taiwan).
-
-2006-06-18  Ignacio Casal Quinteiro  
-
-	* gl.po: Updated Galician Translation.
-
-2006-06-17  Theppitak Karoonboonyanan  
-
-	* th.po: Updated Thai translation.
-
-2006-06-16  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2006-06-16  Ankit Patel  
-
-	* gu.po: Updated Gujarati Translation.
-
-2006-06-15  Hendrik Richter  
-
-	* de.po: Updated German translation.
-
-2006-06-15  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2006-06-14  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2006-06-14  Ankit Patel  
-
-	* gu.po: Updated Gujarati Translation.
-
-2006-06-13  Ankit Patel  
-
-	* gu.po: Updated Gujarati Translation.
-
-2006-06-12  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2006-06-07  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-
-2006-06-05  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2006-06-05  Gabor Kelemen  
-
-	* hu.po: Translation updated.
-
-2006-06-03  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2006-06-03  Ignacio Casal Quinteiro  
-
-	* gl.po: Updated Galician Translation.
-
-2006-06-01  Ankit Patel  
-
-	* gu.po: Updated Gujarati Translation.
-
-2006-05-31  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2006-05-30  Pema Geyleg  
-
-	* dz.po: Updated Dzongkha translation.
-
-2006-05-27  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-
-2006-05-27  Pema Geyleg  
-
-	* dz.po: Updated Dzongkha translation.
-
-2006-05-26  Inaki Larranaga  
-
-	* eu.po: Updated Basque translation.
-
-2006-05-25  Clytie Siddall 
-
-	* vi.po: Updated Vietnamese translation.
-
-2006-05-22  Harish Krishnaswamy  
-
-	* fa.po: Fix for #342399. Patch submitted by
-	Emil Hessman 
-
-2006-05-18  Ankit Patel  
-
-	* gu.po: Updated Gujarati Translation.
-
-2006-05-12  Nickolay V. Shmyrev  
-
-	* ru.po: Updated Russian translation.
-
-2006-05-06  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2006-05-02  Ankit Patel  
-
-	* gu.po: Updated Gujarati Translation.
-
-2006-04-21  Ankit Patel  
-
-	* gu.po: Updated Gujarati Translation.
-
-2006-04-20  Ignacio Casal Quinteiro  
-
-	* gl.po: Updated Galician Translation.
-
-2006-04-18  Ankit Patel  
-
-	* gu.po: Updated Gujarati Translation.
-
-2006-04-17  Kjartan Maraas  
-
-	* no.po: Remove obsolete translation.
-
-2006-04-17  Clytie Siddall 
-
-	* vi.po: Updated Vietnamese translation.
-
-2006-04-06  Theppitak Karoonboonyanan  
-
-	* th.po: Updated Thai translation (merged from gnome-2-14 branch).
-
-2006-03-29  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2006-03-28  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2006-03-23  Marco Ciampa 
-
-	* it.po: updated italian translation.
-
-2006-03-22  Tommi Vainikainen  
-
-	* dz.po: Added Dzongkha translation from Pema Geyleg.
-
-2006-03-13  Dan Damian  
-
-	* ro.po: Updated Romanian translation.
-
-2006-03-12  Raphael Higino  
-
-	* pt_BR.po: Updated Brazilian Portuguese translation.
-
-2006-03-12  Lucas Rocha  
-
-	* pt_BR.po: Updated Brazilian Portuguese translation.
-
-2006-03-11  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2006-03-08  Gabor Kelemen  
-
-	* hu.po: Hungarian translation updated.
-
-2006-03-08  Gabor Kelemen  
-
-	* hu.po: Hungarian translation updated.
-
-2006-03-07  Daniel Nylander 
-
-	* sv.po: Updated Swedish translation.
-
-2006-03-06  Maxim Dziumanenko 
-
-	* uk.po: Updated Ukrainian translation.
-
-2006-03-06  Frank Arnold  
-
-	* de.po: Updated German translation.
-
-2006-03-05  Alexander Shopov  
-
-	* bg.po: Updated Bulgarian translation by
-	Alexander Shopov 
-
-2006-03-05  Theppitak Karoonboonyanan  
-
-	* th.po: Updated Thai translation.
-
-2006-02-26  Artur Flinta  
-
-	* pl.po: Updated Polish translation by GNOME PL Team.
-
-2006-02-25  Žygimantas Beručka  
-
-	* lt.po: Updated Lithuanian translation.
-
-2006-02-25  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2006-02-24  Inaki Larranaga  
-
-	* eu.po: Updated Basque translation.
-
-2006-02-24  Theppitak Karoonboonyanan  
-
-	* th.po: Updated Thai translation.
-
-2006-02-20  Kostas Papadimas  
-
-	* el.po: Updated Greek translation.
-
-2006-02-18  Josep Puigdemont i Casamajó  
-
-	* ca.po: Updated Catalan translation.
-
-2006-02-13  Theppitak Karoonboonyanan  
-
-	* th.po: Updated Thai translation.
-
-2006-02-13  Miloslav Trmac  
-
-	* cs.po: Updated Czech translation.
-
-2006-02-11  Lukas Novotny  
-
-	* cs.po: Updated Czech translation.
-
-2006-02-11  Rhys Jones  
-
-	* cy.po: Updated Welsh translation.
-
-2006-02-10  Ilkka Tuohela  
-
-	* fi.po: Updated Finnish translation.
-
-2006-02-07  Rhys Jones  
-
-	* cy.po: Updated Welsh translation.
-
-2006-02-07  Takeshi AIHANA 
-
-	* ja.po: Updated Japanese translation.
-
-2006-02-07  Theppitak Karoonboonyanan  
-
-	* th.po: Updated Thai translation.
-
-2006-02-07  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2006-02-05  Theppitak Karoonboonyanan  
-
-	* th.po: Updated Thai translation.
-
-2006-02-04  Theppitak Karoonboonyanan  
-
-	* th.po: Added Thai translation by
-	Supranee Thirawatthanasuk .
-
-2006-02-04  Duarte Loreto 
-
-	* pt.po: Updated Portuguese translation.
-
-2006-02-02  Laurent Dhima  
-
-	* sq.po: Updated Albanian translation.
-
-2006-01-31  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2006-01-31  Slobodan D. Sredojevic  
-
-	* sr.po, sr@Latn.po: Updated Serbian translation
-
-2006-01-30  Leonid Kanter 
-
-	* ru.po: Updated Russian translation
-
-2006-01-29  Changwoo Ryu  
-
-	* ko.po: Updated Korean translation.
-
-2006-01-26  Funda Wang  
-
-	* zh_CN.po: Updated Simplified Chinese translation.
-
-2006-01-23  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-	* no.po: Same.
-
-2006-01-23  Vincent van Adrighem  
-
-	* nl.po: Translation updated by Tino Meinen.
-
-2006-01-23  Ankit Patel  
-
-	* gu.po: Updated Gujarati Translation.
-
-2006-01-22  Clytie Siddall 
-
-	* vi.po: Updated Vietnamese translation.
-
-2006-01-21  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2006-01-21  Chao-Hsiung Liao  
-
-	* zh_TW.po: Updated Traditional Chinese translation(Taiwan).
-	* zh_HK.po: Added Traditional Chinese translation(Hong Kong).
-
-2006-01-20  Ignacio Casal Quinteiro  
-
-	* gl.po: Updated Galician Translation.
-
-2006-01-20  Ilkka Tuohela  
-
-	* fi.po: Updated Finnish translation.
-
-2006-01-20  Ankit Patel  
-
-	* gu.po: Updated Gujarati Translation.
-
-2006-01-19  Adam Weinberger  
-
-	* POTFILES.in: Added missing file.
-	* en_CA.po: Updated Canadian English translation.
-
-2006-01-19  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2006-01-18  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2006-01-15  Takeshi AIHANA 
-
-	* ja.po: Fixed translations of date formats.
-
-2006-01-10  Ignacio Casal Quinteiro  
-
-	* gl.po: Updated Galician Translation.
-
-2006-01-09  Alexander Shopov  
-
-	* bg.po: Updated Bulgarian translation by
-	Alexander Shopov 
-
-2006-01-09  Josep Puigdemont i Casamajó  
-
-	* ca.po: Updated Catalan translation.
-
-2006-01-07  Vincent van Adrighem  
-
-	* nl.po: Translation updated by Tino Meinen.
-
-2006-01-06  Žygimantas Beručka  
-
-	* lt.po: Updated Lithuanian translation.
-
-2006-01-03  Takeshi AIHANA 
-
-	* ja.po: Updated Japanese translation.
-
-2006-01-02  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-	* no.po: Same.
-
-2006-01-01  Åsmund Skjæveland  
-
-	* nn.po: Updated Norwegian Nynorsk translation.
-
-2005-12-31  Åsmund Skjæveland  
-
-	* nn.po: Updated Norwegian Nynorsk translation.
-
-2005-12-31  Åsmund Skjæveland  
-
-	* nn.po: Updated Norwegian Nynorsk translation.
-
-2005-12-30  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2005-12-28  Clytie Siddall 
-
-	* vi.po: Updated Vietnamese translation.
-
-2005-12-26  Ankit Patel  
-
-	* gu.po: Updated Gujarati Translation.
-
-2005-12-26  Ilkka Tuohela  
-
-	* fi.po: Updated Finnish translation
-
-2005-12-26  Adam Weinberger  
-
-	* en_CA.po: Updated Canadian English translation.
-
-2005-12-21  Ankit Patel  
-
-	* gu.po: Updated Gujarati Translation.
-
-2005-12-20  Ignacio Casal Quinteiro  
-
-	* gl.po: Updated Galician Translation.
-
-2005-12-18  Takeshi AIHANA 
-
-	* ja.po: Updated Japanese translation.
-
-2005-12-12  Christophe Merlet  
-
-	* fr.po: Updated French translation.
-
-2005-12-11  Miloslav Trmac  
-
-	* cs.po: Updated Czech translation.
-
-2005-12-11  Ankit Patel  
-
-	* gu.po: Updated Gujarati Translation.
-
-2005-12-06  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2005-12-06  Ales Nyakhaychyk  
-
-	* be.po: Updated Belarusian translation by Vital Khilko.
-
-2005-12-05  Alexander Shopov  
-
-	* bg.po: Updated Bulgarian translation by
-	Alexander Shopov 
-
-2005-12-04  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-	* no.po: Same
-
-2005-12-04  Ignacio Casal Quinteiro  
-
-	* gl.po: Updated Galician Translation.
-
-2005-12-04  Funda Wang  
-
-	* zh_CN.po: Updated Simplified Chinese translation.
-
-2005-12-03  Adam Weinberger  
-
-	* POTFILES.in: Added missing file.
-	* en_CA.po: Updated Canadian English translation.
-
-2005-12-02  Ignacio Casal Quinteiro  
-
-	* gl.po: Updated Galician Translation.
-
-2005-11-22  Roozbeh Pournader  
-
-	* fa.po: Updated Persian translation. Translator: Meelad Zakaria;
-	Reviewer: Elnaz Sarbar.
-
-2005-11-22  Alexander Shopov  
-
-	* bg.po: Updated Bulgarian translation by
-	Alexander Shopov 
-
-2005-11-22  Ignacio Casal Quinteiro  
-
-	* gl.po: Updated Galician Translation.
-
-2005-11-20  Takeshi AIHANA 
-
-	* ja.po: Updated Japanese translation.
-
-2005-11-15  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-	* no.po: Same.
-
-2005-11-13  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2005-11-09  Adam Weinberger  
-
-	* en_CA.po: Updated Canadian English translation.
-
-2005-11-06  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2005-11-03  Ilkka Tuohela  
-
-	* fi.po: Updated Finnish translation
-
-2005-11-02  Miloslav Trmac  
-
-	* cs.po: Updated Czech translation.
-
-2005-10-29  Takeshi AIHANA 
-
-	* ja.po: Updated Japanese translation.
-
-2005-10-28  Erdal Ronahi  
-
-	* ku.po: Added Kurdish translation
-
-2005-10-23  Adam Weinberger  
-
-	* en_CA.po: Updated Canadian English translation.
-
-2005-10-20  Ignacio Casal Quinteiro  
-
-	* gl.po: Updated Galician Translation.
-
-2005-10-15  Vincent van Adrighem  
-
-	* nl.po: Translation updated.
-
-2005-10-14  Adam Weinberger  
-
-	* en_CA.po: Updated Canadian English translation.
-
-2005-09-19  Christian Rose  
-
-	* sv.po: Updated Swedish translation.
-
-2005-09-07  Christophe Merlet  
-
-	* fr.po: Updated French translation.
-
-2005-09-06  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2005-09-03  Christophe Merlet  
-
-	* fr.po: Updated French translation.
-
-2005-09-03  Dan Damian  
-
-	* ro.po: Updated Romanian translation.
-
-2005-09-02  Christophe Merlet  
-
-	* fr.po: Updated French translation from
-	Stéphane Raimbault .
-
-2005-09-01  Baris Cicek 
-
-	* tr.po: Updated Turkish Translation
-
-2005-09-01  Miloslav Trmac  
-
-	* cs.po: Updated Czech translation.
-
-2005-08-30  Duarte Loreto 
-
-	* pt.po: Updated Portuguese translation.
-
-2005-08-24  Mohammad DAMT  
-
-	* id.po: Updated Indonesian translation.
-
-2005-08-24  Laurent Dhima  
-
-	* sq.po: Updated Albanian translation.
-
-2005-08-23  Gabor Kelemen  
-
-	* hu.po: Hungarian translation updated.
-
-2005-02-22  Nickolay V. Shmyrev 
-
-	* ru.po: Updated Russian translation.
-
-2005-02-22  Maxim Dziumanenko 
-
-	* uk.po: Updated Ukrainian translation.
-
-2005-08-22  Danilo Å egan  
-
-	* sr.po, sr@Latn.po: Updated by Igor Nestorović.
-
-2005-08-21  Žygimantas Beručka  
-
-	* lt.po: Updated Lithuanian translation by
-	Justina Klingaitė 
-
-2005-08-16  Josep Puigdemont  
-
-	* ca.po: Updated Catalan translation by
-	Xavier Conde 
-
-2005-08-16  Laurent Dhima  
-
-	* sq.po: Updated Albanian translation.
-
-2005-08-14  Gabor Kelemen  
-
-	* hu.po: Hungarian translation updated.
-
-2005-08-15  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2005-08-14  Frank Arnold  
-
-	* de.po: Message sync with evolution.
-
-2005-08-13 Kostas Papadimas 
-
-	*el.po Updated Greek Translation
-
-2005-08-11  Frank Arnold  
-
-	* de.po: Updated German translation.
-
-2005-08-10  Alexander Shopov  
-
-	* bg.po: Updated Bulgarian translation by
-	Rostislav Raykov 
-
-2005-08-06  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2005-08-05  Chao-Hsiung Liao  
-
-	* zh_TW.po: Updated Traditional Chinese translation.
-
-2005-08-05  Miloslav Trmac  
-
-	* cs.po: Updated Czech translation.
-
-2002-10-04  Vincent van Adrighem  
-
-	* nl.po: Translation updated by Reinout van Schouwen.
-
-2005-07-30  Clytie Siddall 
-
-	* vi.po: Updated Vietnamese translation.
-
-2005-07-30  Marco Ciampa  
-
-	* it.po: Updated Italian translation.
-
-2005-07-28  Ilkka Tuohela  
-
-	* fi.po: Updated Finnish translation.
-
-2005-07-28  Ilkka Tuohela  
-
-	* fi.po: Bulk change to some Finnish translations.
-
-2005-07-28  Artur Flinta  
-
-	* pl.po: Updated Polish translation by GNOME PL Team.
-
-2005-07-28  Takeshi AIHANA 
-
-	* ja.po: Updated Japanese translation.
-
-2005-07-28 Ankit Patel 
-
-	* gu.po: Updated Gujarati Translation.
-
-2005-07-28  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2005-07-28  Terance Sola  
-
-	* nb.po: Updated Norwegian Bokmål translation.
-	* no.po: Same.
-
-2005-07-27  Raphael Higino  
-
-	* pt_BR.po: Updated Brazilian Portuguese translation.
-
-2005-07-27  Funda Wang  
-
-	* zh_CN.po: Updated Simplified Chinese translation.
-
-2005-07-27  Ankit Patel 
-
-	* gu.po: Updated Gujarati Translation.
-
-2005-07-27  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2005-07-27  Ahmad Riza H Nst  
-
-	* id.po: Updated and fixed Indonesian translation
-	done by Imam Musthaqim  
-
-2005-07-26  Adam Weinberger  
-
-	* POTFILES.in: Added missing files.
-	* en_CA.po: Updated Canadian English translation.
-
-2005-07-26  Clytie Siddall 
-
-	* vi.po: Updated Vietnamese translation.
-
-2005-07-26  Frank Arnold  
-
-	* de.po: Updated German translation.
-
-2005-07-26  Ahmad Riza H Nst  
-
-	* id.po: Updated Indonesian translation
-	done by Imam Musthaqim  
-
-2005-07-25  Clytie Siddall 
-
-	* vi.po: Updated Vietnamese translation.
-
-2005-07-25  Ilkka Tuohela  
-
-	* fi.po: Updated Finnish translation.
-
-2005-07-24  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-	* no.po: Same
-
-2005-07-24  Ilkka Tuohela  
-
-	* fi.po: Updated Finnish translation.
-
-2005-07-23  Miloslav Trmac  
-
-	* cs.po: Updated Czech translation.
-
-2005-07-23  Funda Wang  
-
-	* zh_CN.po: Updated Simplified Chinese translation.
-
-2005-07-22  Takeshi AIHANA 
-
-	* ja.po: Updated Japanese translation.
-
-2005-07-22  Clytie Siddall 
-
-	* vi.po: Updated Vietnamese translation.
-
-2005-07-21  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2005-07-20 Ankit Patel 
-
-	* gu.po: Updated Gujarati Translation.
-
-2005-07-19  Vincent van Adrighem  
-
-	* nl.po: Translation updated by Reinout van Schouwen.
-
-2005-07-18  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2005-07-18  Adam Weinberger  
-
-	* en_CA.po: Updated Canadian English translation.
-
-2005-07-18  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2005-07-17  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2005-07-17  Clytie Siddall 
-
-	* vi.po: Updated Vietnamese translation.
-
-2005-07-16  Danilo Å egan  
-
-	* sr.po, sr@Latn.po: Updated by Igor Nestorović.
-
-2005-07-16  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation.
-	* no.po: Same
-
-2005-07-16  Sarfraaz Ahmed 
-
-	* POTFILES.in : Added a missing exchange file. And removed the files
-	which didnt have any translations needed
-
-2005-07-15  Raphael Higino  
-
-	* pt_BR.po: Updated Brazilian Portuguese translation.
-
-2005-07-15  Gabor Kelemen  
-
-	* hu.po: Hungarian translation updated.
-
-2005-07-14  Priit Laes  
-
-	* et.po: Translation updated.
-
-2005-07-14  Miloslav Trmac  
-
-	* cs.po: Updated Czech translation.
-
-2005-07-14  Danilo Å egan  
-
-	* sr.po, sr@Latn.po: Updated Serbian translation by Igor
-	Nestorović.
-
-2005-07-13  Clytie Siddall 
-
-	* vi.po: Updated Vietnamese translation.
-
-2005-07-10  Adam Weinberger  
-
-	* en_CA.po: Updated Canadian English translation.
-
-2005-07-10  Miloslav Trmac  
-
-	* cs.po: Updated Czech translation.
-
-2005-07-09  Chao-Hsiung Liao  
-
-	* zh_TW.po: Updated Traditional Chinese translation.
-
-2005-07-07  Clytie Siddall 
-
-	* vi.po: Updated Vietnamese translation.
-
-2005-07-07  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2005-07-06  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2005-07-06  Terance Sola  
-
-	* nb.po: Updated Norwegian bokmal translation.
-	* no.po: Same.
-
-2005-07-06  Alexander Shopov  
-
-	* bg.po: Updated Bulgarian translation by
-	Rostislav Raykov 
-
-2005-07-04  Hendrik Richter  
-
-	* de.po: Fixed German translation by
-	Jens Seidel .
-
-2005-07-03  Adam Weinberger  
-
-	* en_CA.po: Updated Canadian English translation.
-
-2005-07-01  Chao-Hsiung Liao  
-
-	* zh_TW.po: Updated Traditional Chinese translat
-
-2005-07-01  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2005-07-01  Funda Wang  
-
-	* zh_CN.po: Updated Simplified Chinese translation.
-
-2005-06-28  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2005-06-27  Sarfraaz Ahmed 
-
-	* POTFILES.in : Added missing exchange files.
-
-2005-06-22  Abel Cheung  
-
-	* zh_TW.po: Fix language team reference.
-
-2005-06-21  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2005-06-20  Kjartan Maraas  
-
-	* nb.po: Updated Norwegian bokmål translation
-	* no.po: Updated Norwegian bokmål translation
-
-2005-06-17  Adam Weinberger  
-
-	* en_CA.po: Updated Canadian English translation.
-
-2005-06-12  Miloslav Trmac  
-
-	* cs.po: Updated Czech translation.
-
-2005-06-11  Martin Willemoes Hansen  
-
-	* da.po: Updated Danish translation.
-
-2005-06-10  Alexander Shopov  
-
-	* bg.po: Updated Bulgarian translation by
-	Vladimir Petkov 
-
-2005-06-08  Martin Willemoes Hansen  
-
-	* da.po: Updated Danish translation.
-
-2005-06-06  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2005-06-01  Adam Weinberger  
-
-	* en_CA.po: Updated Canadian English translation.
-
-2005-06-01  Terance Sola  
-
-	* nb.po: Updated
-	* no.po: Updated
-
-2005-05-30  Clytie Siddall 
-
-	* vi.po: Updated Vietnamese translation.
-
-2005-05-29  Miloslav Trmac  
-
-	* cs.po: Updated Czech translation.
-
-2005-05-29  Funda Wang  
-
-	* zh_CN.po: Updated Simplified Chinese translation.
-
-2005-05-28  Adam Weinberger  
-
-	* en_CA.po: Updated Canadian English translation.
-
-2005-05-26  Clytie Siddall 
-
-	* vi.po: Updated Vietnamese translation.
-
-2005-05-23  Dafydd Harries  
-
-	* cy.po: Kick into shape a bit.
-
-2005-05-22  Takeshi AIHANA 
-
-	* ja.po: Updated Japanese translation.
-
-2005-05-14  Alexander Shopov  
-
-	* bg.po: Updated Bulgarian translation by
-	Rostislav Raykov 
-
-2005-05-11 Kostas Papadimas 
-
-	*el.po Updated Greek Translation
-
-2005-04-29  Martin Willemoes Hansen  
-
-	* da.po: Updated Danish translation.
-
-2005-04-24  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2005-04-23  Roozbeh Pournader  
-
-	* fa.po: Updated Persian translation by
-	Meelad Zakaria .
-
-2005-04-10  Marco Ciampa  
-
-	* it.po: updated italian translation & some utf-8 garbage corrected.
-
-2005-04-09  Miloslav Trmac  
-
-	* cs.po: Updated Czech translation.
-
-2005-04-08  Adam Weinberger  
-
-	* en_CA.po: Updated Canadian English translation.
-
-2005-04-06  Roozbeh Pournader  
-
-	* fa.po: Updated Persian translation by
-	Hessam M. Armandehi .
-
-2005-04-06  Danilo Å egan  
-
-	* sr.po, sr@Latn.po: Updated Serbian translations.
-
-2005-04-05  Frank Arnold  
-
-	* de.po: Updated German translation.
-
-2005-04-05  Pawan Chitrakar  
-
-	* ne.po: Updated Nepali Translation
-
-2005-04-04  Vincent van Adrighem  
-
-	* nl.po: Translation updated by Tino Meinen.
-
-2005-04-02  Raphael Higino  
-
-	* pt_BR.po: Updated Brazilian Portuguese translation.
-
-2005-04-01  Adi Attar  
-
-	* xh.po: Updated Xhosa translation.
-
-2005-03-31  Steve Murphy  
-
-	* rw.po: Added Kinyarwanda translation.
-
-2005-03-31  Miloslav Trmac  
-
-	* cs.po: Updated Czech translation.
-
-2005-03-30  Adam Weinberger  
-
-	* en_CA.po: Updated Canadian English translation.
-
-2005-03-30  Adi Attar  
-
-	* xh.po: Added Xhosa translation.
-
-2005-03-29  Gabor Kelemen  
-
-	* hu.po: Hungarian translation updated.
-
-2005-03-29  Josep Puigdemont  
-
-	* ca.po: Updated Catalan translation.
-
-2005-03-27  Pawan Chitrakar  
-
-	* ne.po: Added nepali translation
-
-2005-03-23  Frank Arnold  
-
-	* de.po: Updated German translation.
-
-2005-03-22  Adam Weinberger  
-
-	* en_CA.po: Updated Canadian English translation.
-
-2005-03-22  Christian Rose  
-
-	* POTFILES.in: Added missing file entry.
-
-2005-03-15  Adam Weinberger  
-
-	* en_CA.po: Updated Canadian English translation.
-
-2005-03-15  Hans Petter Jansson  
-
-	* 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 
-
-	* tr.po: Updated Turkish Translation
-
-2005-03-05  Raphael Higino  
-
-	* pt_BR.po: Updated Brazilian Portuguese translation.
-
-2005-03-04  Laszlo Dvornik  
-
-	* hu.po: Hungarian translation updated by Gabor Kelemen.
-
-2005-03-03  Raphael Higino  
-
-	* pt_BR.po: Updated Brazilian Portuguese translation.
-
-2005-03-01  Alexander Shopov  
-
-	* bg.po: Updated Bulgarian translation by
-	Vladimir Petkov 
-
-2005-03-01  Jordi Mallach  
-
-	* ca.po: Updated Catalan translation by
-	Xavier Conde Rueda .
-
-2005-02-28  Kostas Papadimas 
-
-	* el.po: Updated Greek translation.
-
-2005-02-27  Vincent van Adrighem  
-
-	* nl.po: Translation updated by Tino Meinen.
-
-2005-02-27  Nikos Charonitakis  
-
-	* el.po: Updated Greek translation.
-
-2005-02-26  Laszlo Dvornik  
-
-	* hu.po: Hungarian translation updated by Gabor Kelemen.
-
-2005-02-24  Martin Willemoes Hansen  
-
-	* da.po: Updated Danish translation.
-
-2005-02-21 Ankit Patel 
-
-	* gu.po: Updated Gujarati Translation.
-
-2005-02-19  Artur Flinta  
-
-	* pl.po: Updated Polish translation by GNOME PL Team.
-
-2005-02-19  Kostas Papadimas 
-
-	* el.po: Updated Greek translation.
-
-2005-02-19  Maxim Dziumanenko 
-
-	* uk.po: Updated Ukrainian translation.
-
-2005-02-19  Christophe Merlet  
-
-	* fr.po: Updated French translation from
-	Thierry Moisan .
-
-2005-02-18  Duarte Loreto 
-
-	* pt.po: Updated Portuguese translation.
-
-2005-02-16  Marco Ciampa 
-
-	* it.po: Updated italian translation
-
-2005-02-16  Kjartan Maraas  
-
-	* nb.po: Update
-	* no.po: Update
-
-2005-02-16  Alexander Shopov  
-
-	* bg.po: Updated Bulgarian translation by
-	Vladimir Petkov 
-
-2005-02-15  Ilkka Tuohela  
-
-	* fi.po: Updated Finnish translation
-
-2005-02-14  Leonid Kanter  
-
-	* ru.po: Updated Russian translation
-
-2005-02-14  Laurent Dhima  
-
-	* sq.po: Updated Albanian translation.
-
-2005-02-14  Alexander Shopov  
-
-	* bg.po: Updated Bulgarian translation by
-	Vladimir Petkov 
-
-2005-02-14  Žygimantas Beručka  
-
-	* lt.po: Updated Lithuanian translation.
-
-2005-02-13  David Lodge 
-
-	* en_GB.po: Updated British translation.
-
-2005-02-13  Takeshi AIHANA 
-
-	* ja.po: Updated Japanese translation.
-
-2005-02-13  Changwoo Ryu  
-
-	* ko.po: Updated Korean translation.
-
-2005-02-11  Christian Rose  
-
-	* POTFILES.in: Added missing file entry.
-	* sv.po: Updated Swedish translation.
-
-2005-02-10  Kjartan Maraas  
-
-	* nb.po: Update
-	* no.po: Update
-
-2005-02-08  Adam Weinberger  
-
-	* en_CA.po: Updated Canadian English translation.
-
-2005-02-08  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2005-02-08  Frank Arnold  
-
-	* de.po: Updated German translation.
-
-2005-02-08  Miloslav Trmac  
-
-	* cs.po: Updated Czech translation.
-
-2005-02-07  JP Rosevear  
-
-	* POTFILES.skip: skip files that aren't built but might be needed
-	for reference
-
-	* POTFILES.in: remove dead files
-
-2005-02-07  JP Rosevear  
-
-	* POTFILES.in: remove dead file
-
-2005-02-07  Jordi Mallach  
-
-	* ca.po: Updated Catalan translation by
-	Xavier A. Conde Rueda .
-
-2005-02-07  David Lodge 
-
-	* en_GB.po: Updated British translation.
-
-2005-02-07  Frank Arnold  
-
-	* de.po: Updated German translation.
-
-2005-02-06  Adam Weinberger  
-
-	* en_CA.po: Updated Canadian English translation.
-
-2005-02-06  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2005-02-06  Frank Arnold  
-
-	* de.po: Updated German translation.
-
-2005-02-06  Miloslav Trmac  
-
-	* cs.po: Updated Czech translation.
-
-2005-02-06  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2005-02-05  Frank Arnold  
-
-	* de.po: Updated German translation.
-
-2005-02-05  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2005-02-05  Žygimantas Beručka  
-
-	* lt.po: Updated Lithuanian translation.
-
-2005-02-04  Kostas Papadimas 
-
-	* el.po: Updated  Greek translation
-
-2005-02-02  Laurent Dhima  
-
-	* sq.po: Updated Albanian translation.
-
-2005-02-01  Raphael Higino  
-
-	* pt_BR.po: Updated Brazilian Portuguese translation.
-
-2005-02-01  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2005-02-01  Žygimantas Beručka  
-
-	* lt.po: Updated Lithuanian translation.
-
-2005-01-31  Žygimantas Beručka  
-
-	* lt.po: Updated Lithuanian translation.
-
-2005-01-31  Christian Rose  
-
-	* sv.po: Updated Swedish translation.
-
-2005-01-31  Christian Rose  
-
-	* POTFILES.in: Added lots of missing file entries.
-
-2005-01-31  Žygimantas Beručka  
-
-	* lt.po: Updated Lithuanian translation.
-
-2005-01-31  Changwoo Ryu  
-
-	* ko.po: Updated Korean translation.
-
-2005-01-30  David Lodge 
-
-	* en_GB.po: Updated British translation.
-
-2005-01-28  Vincent van Adrighem  
-
-	* nl.po: Translation updated by Daniel van Eeden.
-
-2005-01-28  Kjartan Maraas  
-
-	* nb.po: Update
-	* no.po: Update
-
-2005-01-26  Duarte Loreto 
-
-	* pt.po: Updated Portuguese translation.
-
-2005-01-25  Takeshi AIHANA 
-
-	* ja.po: Updated Japanese translation.
-
-2005-01-23 Marco Ciampa 
-
-	* it.po: Updated italian translation.
-
-2005-01-23  Frank Arnold  
-
-	* de.po: Updated German translation.
-
-2005-01-21  Priit Laes  
-
-	* et.po: Translation updated by Ivar Smolin.
-
-2005-01-20  Miloslav Trmac  
-
-	* cs.po: Updated Czech translation.
-
-2005-01-19  Frank Arnold  
-
-	* de.po: Updated German translation.
-
-2005-01-19  Kjartan Maraas  
-
-	* nb.po:
-
-2005-01-18  Priit Laes  
-
-	* et.po: Translation updated.
-
-2005-01-18  Priit Laes  
-
-	* et.po: Translation updated.
-
-2005-01-17  Žygimantas Beručka  
-
-	* lt.po: Updated Lithuanian translation.
-
-2005-01-15  Priit Laes  
-
-	* et.po: Translation updated.
-
-2005-01-15  Takeshi AIHANA 
-
-	* ja.po: Updated Japanese translation.
-
-2005-01-15  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2005-01-14  Adam Weinberger  
-
-	* en_CA.po: Updated Canadian English translation.
-
-2005-01-14  Adam Weinberger  
-
-	* POTFILES.in: Removed nonexistant file from list.
-
-2005-01-14  Not Zed  
-
-	* 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 
-
-	* POTFILES.in: Added files from libedataserverui directory.
-
-2005-01-10  Alexander Shopov  
-
-	* bg.po: Updated Bulgarian translation by
-	Vladimir Petkov 
-
-2005-01-10  Takeshi AIHANA 
-
-	* ja.po: Updated Japanese translation.
-
-2004-12-24  Leonid Kanter 
-
-	* ru.po: Updated Russian translation
-
-2004-12-04  Žygimantas Beručka  
-
-	* lt.po: Updated Lithuanian translation.
-
-2004-12-03  Marco Ciampa 
-
-	* it.po: Updated italian translation.
-
-2004-10-15  Danilo Å egan  
-
-	* sr.po, sr@Latn.po: Updated Serbian translation.
-
-2004-10-14  Miloslav Trmac  
-
-	* cs.po: Updated Czech translation.
-
-2004-10-14  Laurent Dhima  
-
-	* sq.po: Updated Albanian translation.
-
-2004-10-13  Adam Weinberger  
-
-	* en_CA.po: Updated Canadian English translation.
-
-2004-10-13  David Lodge 
-
-	* en_GB.po: Updated British English translation.
-
-2004-10-13  Christian Rose  
-
-	* POTFILES.in: Removed missing file entries and added missing
-	one.
-	* sv.po: Updated Swedish translation.
-
-2004-09-24  Adam Weinberger  
-
-	* en_CA.po: Updated Canadian English translation.
-
-2004-09-24  Christophe Merlet  
-
-	* fr.po: Updated French translation from
-	Craig Jeffares .
-
-2004-09-22  Craig Jeffares 
-
-	* zh_TW.po: Updated Chinese Traditional from Novell.
-
-2004-09-21  Stanislav Visnovsky 
-
-	* sk.po: Updated Slovak translation by Ivan Noris.
-
-2004-09-14  Roozbeh Pournader  
-
-	* fa.po: Added Persian Translation by Meelad Zakaria
-	.
-
-2004-09-14  Mohammad DAMT  
-
-	* id.po: Updated Indonesian translation
-
-2004-09-10  Mohammad DAMT  
-
-	* id.po: Added Indonesian translation
-
-2004-09-09  Martin Willemoes Hansen  
-
-	* da.po: Updated Danish translation.
-
-2004-09-06  David Lodge 
-
-	* en_GB.po: Updated British translation.
-
-2004-09-03  Baris Cicek 
-
-	* tr.po: Updated Turkish Translation
-
-2004-08-26  Akagic Amila 
-
-	* bs.po: Added Bosnian translation.
-
-2004-08-25  Gustavo Maciel Dias Vieira  
-
-	* pt_BR.po: Updated Brazilian Portuguese translation done by
-	Gustavo Maciel Dias Vieira .
-
-2004-08-24  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2004-08-24  Martin Willemoes Hansen  
-
-	* da.po: Updated Danish translation.
-
-2004-08-22  Christian Neumair  
-
-	* de.po: Updated German translation.
-
-2004-08-22  Laszlo Dvornik  
-
-	* hu.po: Updated Hungarian translation.
-
-2004-08-21  Kjartan Maraas  
-
-	* POTFILES.skip: Remove non-existent file.
-	* nb.po: Add this.
-	* no.po: Update this.
-
-2004-08-20  Laurent Dhima  
-
-	* sq.po: Updated Albanian translation.
-
-2004-08-19  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2004-08-19  Maxim Dziumanenko 
-
-	* uk.po: Updated Ukrainian translation.
-
-2004-08-18  Metin Amiroff  
-
-	* az.po: Translation updated by Mətin ?mirov.
-
-2004-08-18  Takeshi AIHANA 
-
-	* ja.po: Updated Japanese translation.
-
-2004-08-18  Laurent Dhima  
-
-	* sq.po: Updated Albanian translation.
-
-2004-08-15  Duarte Loreto 
-
-	* pt.po: Updated Portuguese translation.
-
-2004-08-14  Ilkka Tuohela  
-
-	* Updated finnish translation
-
-2004-08-13  Tommi Vainikainen  
-
-	* fi.po: Unified some fields in po headers for Finnish team.
-
-2004-08-13  Dmitry G. Mastrukov  
-
-	* be.po: Updated Belarusian translation
-	from Belarusian team .
-
-2004-08-11  Vincent van Adrighem  
-
-	* nl.po: Translation updated by Daniel van Eeden.
-
-2004-08-11  Artur Flinta  
-
-	* pl.po: Updated Polish translation by GNOME PL Team.
-
-2004-08-10  Marco Ciampa  
-
-	* it.po: Updated italian translation.
-
-2004-08-09  Miloslav Trmac  
-
-	* cs.po: Updated Czech translation.
-
-2004-08-09  Ankit Patel 
-
-	* gu.po: Updated Gujarati translation.
-
-2004-08-09  Amanpreet Singh Alam  
-
-	* pa.po: Updated Panjabi translation.
-
-2004-08-09  Laurent Dhima  
-
-	* sq.po: Updated Albanian translation.
-
-2004-08-08  Funda Wang  
-
-	* zh_CN.po: Updated Simplified Chinese translation.
-
-2004-08-07  Adam Weinberger  
-
-	* en_CA.po: Updated Canadian English translation.
-
-2004-08-07  Danilo Å egan  
-
-	* sr.po, sr@Latn.po: Updated Serbian translation.
-
-	* POTFILES.in: Added missing files.
-
-2004-08-06  Sayamindu Dasgupta 
-
-	* bn.po: Added Bengali translation by
-	Runa Bhattacharjee 
-
-2004-08-05  Duarte Loreto 
-
-	* pt.po: Updated Portuguese translation.
-
-2004-08-03  Alexander Shopov  
-
-	* bg.po: Updated Bulgarian translation by
-	Vladimir "Kaladan" Petkov 
-
-2004-07-28  Laurent Dhima  
-
-	* sq.po: Updated Albanian translation.
-
-2004-07-23  Åsmund Skjæveland  
-
-	* nn.po: Updated Norwegian Nynorsk translation.
-
-2004-07-10  Vincent van Adrighem  
-
-	* nl.po: Translation updated by Daniel van Eeden.
-
-2004-07-10  Changwoo Ryu  
-
-	* ko.po: Updated Korean translation.
-
-2004-07-05  Laurent Dhima  
-
-	* sq.po: Updated Albanian translation.
-
-2004-06-28  Laurent Dhima  
-
-	* sq.po: Translation updated.
-
-2004-06-28  Kjartan Maraas  
-
-	* no.po: Updated Norwegian translation.
-
-2004-06-25  Gustavo Maciel Dias Vieira 
-
-	* pt_BR.po: Updated Brazilian Portuguese translation done by
-	Gustavo Maciel Dias Vieira .
-
-2004-06-13  Metin Amiroff  
-
-	* az.po: Translation updated by Mətin ?mirov.
-
-2004-06-13  Funda Wang  
-
-	* zh_CN.po: Updated Simplified Chinese translation.
-
-2004-06-10  Metin Amiroff  
-
-	* az.po: Translation updated by Mətin ?mirov.
-
-2004-06-10  Ilkka Tuohela  
-
-	* fi.po: Updated finnish translation.
-
-2004-06-07  Artur Flinta  
-
-	* pl.po: Updated Polish translation by GNOME PL Team.
-
-2004-06-05  Jordi Mallach  
-
-	* ca.po: Updated Catalan translation by
-	Xavier Conde Rueda .
-
-2004-06-05  Laurent Dhima  
-
-	* sq.po: Updated Albanian translation.
-
-2004-06-04  Andras Timar  
-
-	* hu.po: Updated Hungarian translation.
-
-2004-05-31  Adam Weinberger  
-
-	* en_CA.po: Updated Canadian English translation.
-
-2004-05-30  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2004-05-29  Miloslav Trmac  
-
-	* cs.po: Updated Czech translation.
-
-2004-05-27  Alexander Winston  
-
-	* en_CA.po: Updated Canadian English translation.
-
-2004-05-25  Gareth Owen  
-
-	* en_GB.po: Updated British English translation
-
-2004-05-22  Priit Laes  
-
-	* et.po: Translation updated.
-
-2004-05-22  Takeshi AIHANA 
-
-	* ja.po: Updated Japanese translation.
-
-2004-05-21  Miloslav Trmac  
-
-	* cs.po: Updated Czech translation.
-
-2004-05-16  Duarte Loreto 
-
-	* pt.po: Updated Portuguese translation.
-
-2004-05-16  Funda Wang  
-
-	* zh_CN.po: Updated Simplified Chinese translation.
-
-2004-05-07  Maxim Dziumanenko 
-
-	* uk.po: Updated Ukrainian translation.
-
-2004-04-27  Marco Ciampa  
-
-	* it.po: Updated italian translation.
-
-2004-04-26  Adam Weinberger  
-
-	* en_CA.po: Added Canadian English translation.
-
-2004-04-16  Jordi Mallach  
-
-	* ca.po: Updated Catalan translation by
-	Xavier Conde Rueda .
-
-2004-04-15  Andras Timar  
-
-	* hu.po: Updated Hungarian translation.
-
-2004-04-14  Vincent van Adrighem  
-
-	* nl.po: Translation updated by Daniel van Eeden.
-
-2004-04-14  Gustavo Maciel Dias Vieira 
-
-	* pt_BR.po: Updated Brazilian Portuguese translation done by
-	Gustavo Maciel Dias Vieira .
-
-2004-04-12  Gareth Owen  
-
-	* en_GB.po: Updated British English translation
-
-2004-07-10  Evandro Fernandes Giovanini 
-
-	* pt_BR.po: Updated Brazilian Portuguese translation
-	from Afonso Celso Medina .
-
-2004-04-07  Priit Laes  
-
-	* et.po: Translation updated.
-
-2004-04-06  Takeshi AIHANA 
-
-	* ja.po: Updated Japanese translation.
-
-2004-04-02  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spansih translation.
-
-2004-03-29  Miloslav Trmac  
-
-	* cs.po: Updated Czech translation.
-
-2004-03-28  Christian Neumair  
-
-	* de.po: Updated German translation.
-
-2004-03-26  Kjartan Maraas  
-
-	* no.po: Updated Norwegian translation.
-
-2004-03-26  Danilo Å egan  
-
-	* sr.po, sr@Latn.po: Updated Serbian translation.
-
-	* POTFILES.in: Added servers/groupwise/e-gw-connection.c.
-
-2004-03-25  Gareth Owen  
-
-	* en_GB.po: Updated British English translation
-
-2004-03-25  Christian Rose  
-
-	* sv.po: Tiny, tiny typo fix.
-
-2004-03-25  Gustavo Maciel Dias Vieira 
-
-	* pt_BR.po: Updated Brazilian Portuguese translation done by
-	Gustavo Maciel Dias Vieira .
-
-2004-03-25  Changwoo Ryu  
-
-	* ko.po: Updated Korean translation.
-
-2004-03-23  Takeshi AIHANA 
-
-	* ja.po: Updated Japanese translation.
-
-2004-03-22  Miloslav Trmac  
-
-	* cs.po: Updated Czech translation.
-
-2004-03-21  Vincent van Adrighem  
-
-	* nl.po: Translation updated by Daniel van Eeden.
-
-2004-03-20  Robert Sedak  
-
-	* hr.po: Updated Croatian translation.
-
-2004-03-11  Gustavo Maciel Dias Vieira 
-
-	* pt_BR.po: Updated Brazilian Portuguese translation done by
-	Gustavo Maciel Dias Vieira .
-
-2004-03-09  Kjartan Maraas  
-
-	* no.po: Updated Norwegian translation.
-
-2004-03-07  Vincent van Adrighem  
-
-	* nl.po: Translation updated by Daniel van Eeden.
-
-2004-03-06  Laurent Dhima  
-
-	* sq.po: Updated Albanian translation.
-
-2004-03-06  Changwoo Ryu  
-
-	* ko.po: Updated Korean translation.
-
-2004-03-03  Miloslav Trmac  
-
-	* cs.po: Updated Czech translation.
-
-2004-03-01  Danilo Å egan  
-
-	* sr.po, sr@Latn.po: Updated Serbian translation.
-
-2004-03-01  Miloslav Trmac  
-
-	* cs.po: Updated Czech translation.
-
-2004-02-29  Vincent van Adrighem  
-
-	* nl.po: Translation updated by Daniel van Eeden.
-
-2004-02-28  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2004-02-26  Rodney Dawes  
-
-	* 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  
-
-	* sr.po, sr@Latn.po: Updated Serbian translation.
-
-2004-02-27  Changwoo Ryu  
-
-	* ko.po: Updated Korean translation.
-
-2004-02-26  Vincent van Adrighem  
-
-	* nl.po: Translation updated by Kees van den Broek.
-
-2004-02-26  Miloslav Trmac  
-
-	* cs.po: Updated Czech translation.
-
-2004-02-23  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2004-02-22  Ilkka Tuohela  
-
-	* fi.po: Updated finnish translation.
-
-2004-02-20  Danilo Å egan  
-
-	* sr.po, sr@Latn.po: Updated Serbian translation.
-
-2004-02-17  Miloslav Trmac  
-
-	* cs.po: Updated Czech translation.
-
-2004-02-16  JP Rosevear 
-
-	* POTFILES.in: add e-cal-backend-groupwise.c
-
-2004-02-11  Vincent van Adrighem  
-
-	* nl.po: Translation updated by Tino Meinen.
-
-2004-02-11  Marco Ciampa  
-
-	* it.po: Updated italian translation.
-
-2004-02-11  Takeshi AIHANA 
-
-	* ja.po: Updated Japanese translation.
-
-2004-02-10  Funda Wang  
-
-	* zh_CN.po: Updated Simplified Chinese translation.
-
-2004-02-08  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2004-02-08  Robert Sedak  
-
-	* hr.po: Updated Croatian translation.
-
-2004-02-07  Kjartan Maraas  
-
-	* no.po: Updated Norwegian translation.
-
-2004-02-06  Miloslav Trmac  
-
-	* cs.po: Updated Czech translation.
-
-2004-02-05  Artur Flinta  
-
-	* pl.po: Updated Polish translation by GNOME PL Team.
-
-2004-02-05  Laurent Dhima  
-
-	* sq.po: Updated Albanian translation.
-
-2004-02-04  Ilkka Tuohela  
-
-	* fi.po: Updated finnish translation.
-
-2004-02-04  Artur Flinta  
-
-	* pl.po: Updated Polish translation by GNOME PL Team.
-
-2004-02-02 Alastair McKinstry 
-
-	* ga.po: Updated Irish translations.
-
-2004-02-01  Danilo Å egan  
-
-	* sr.po, sr@Latn.po: Updated Serbian translation.
-
-	* POTFILES.in: Removed src/GNOME_Evolution_DataServer.server.in.in.
-
-2004-02-01  Christian Neumair  
-
-	* POTFILES.in: Added missing file.
-	* de.po: Updated German translation.
-
-2004-02-01  Laurent Dhima  
-
-	* sq.po: Updated Albanian translation.
-
-2004-02-01  Changwoo Ryu  
-
-	* ko.po: Updated Korean translation.
-
-2004-01-31  Duarte Loreto 
-
-	* pt.po: Updated and revised Portuguese translation.
-
-2004-01-30  Kjartan Maraas  
-
-	* no.po: Updated Norwegian translation.
-
-2004-01-30  Metin Amiroff  
-
-	* az.po: Translation updated by Mətin ?mirov.
-
-2004-01-30  Miloslav Trmac  
-
-	* cs.po: Updated Czech translation.
-
-2004-01-29  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2004-01-29  Artur Flinta  
-
-	* pl.po: Updated Polish translation by GNOME PL Team.
-
-2004-01-28  Åsmund Skjæveland  
-
-	* nn.po: Updated Norwegian Nynorsk translation.
-
-2004-01-28  Danilo Å egan  
-
-	* sr.po, sr@Latn.po: Updated Serbian translation.
-
-2004-01-28  Christophe Merlet  
-
-	* fr.po: Updated French translation.
-
-2004-01-28  Miloslav Trmac  
-
-	* cs.po: Fixed Czech translation.
-
-2004-01-28  Artur Flinta  
-
-	* pl.po: Updated Polish translation by GNOME PL Team.
-
-2004-01-28  Christophe Merlet  
-
-	* fr.po: Updated French translation from
-	Sebastien Bacher .
-
-2004-01-25  Sanlig Badral  
-
-	* mn.po: Added Mongolian translation.
-
-2004-01-25  Kostas Papadimas 
-
-	* el.po: Updated  Greek translation.
-
-2004-01-25  Vincent van Adrighem  
-
-	* nl.po: Translation updated by Tino Meinen.
-
-2004-01-23  Gustavo Maciel Dias Vieira 
-
-	* pt_BR.po: Updated Brazilian Portuguese translation done by
-	Gustavo Maciel Dias Vieira .
-
-2004-01-22  Gustavo Maciel Dias Vieira 
-
-	* pt_BR.po: Updated Brazilian Portuguese translation done by
-	Gustavo Maciel Dias Vieira .
-
-2004-01-21  Changwoo Ryu  
-
-	* ko.po: Updated Korean translation.
-
-2004-01-19  Takeshi AIHANA 
-
-	* ja.po: Updated Japanese translation.
-
-2004-01-16  Kjartan Maraas  
-
-	* no.po: Updated Norwegian translation.
-
-2004-01-15  Žygimantas Beručka  
-
-	* lt.po: Updated Lithuanian translation by Tomas Kuliavas.
-
-2004-01-14  Christian Neumair  
-
-	* de.po: Updated German translation.
-
-2004-01-14  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spansih translation.
-
-2004-01-14  Danilo Å egan  
-
-	* sr.po, sr@Latn.po: Updated Serbian translation.
-
-2004-01-13  Laurent Dhima  
-
-	* sq.po: Added Albanian translation.
-
-2004-01-13  Miloslav Trmac  
-
-	* cs.po: Updated Czech translation.
-
-2004-01-12  Miloslav Trmac  
-
-	* cs.po: Updated Czech translation.
-
-2004-01-11  Kjartan Maraas  
-
-	* no.po: Updated Norwegian translation.
-
-2004-01-10  Changwoo Ryu  
-
-	* ko.po: Updated Korean translation.
-
-2004-01-10  Danilo Å egan  
-
-	* sr.po, sr@Latn.po: Updated Serbian translation.
-
-	* POTFILES.in: Added calendar/libical/src/python/Property.py.
-
-2004-01-09  Miloslav Trmac  
-
-	* cs.po: Updated Czech translation.
-
-2004-01-07  Miloslav Trmac  
-
-	* cs.po: Updated Czech translation.
-
-2004-01-07  Marco Ciampa  
-
-	* it.po: Updated italian translation.
-
-2004-01-06  Miloslav Trmac  
-
-	* cs.po: Updated Czech translation.
-
-2004-01-06  Christian Neumair  
-
-	* de.po: Updated German translation.
-
-2003-01-06  Kostas Papadimas 
-
-	* el.po: Updated Greek translation.
-
-2003-12-27  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2003-12-23  Duarte Loreto 
-
-	* pt.po: Updated Portuguese translation.
-
-2003-12-21  Francisco Javier F. Serrador  
-
-	* es.po Updated Spanish translation.
-
-2003-12-21  Miloslav Trmac  
-
-	* cs.po: Updated Czech translation.
-
-2003-12-20  Danilo Å egan  
-
-	* sr.po, sr@Latn.po: Updated Serbian translation.
-
-2003-12-18  Francisco Javier F. Serrador  
-
-	* es.po: Updated Spanish translation.
-
-2003-12-18  Miloslav Trmac  
-
-	* cs.po: Updated Czech translation.
-
-2003-12-14  Danilo Å egan  
-
-	* sr.po, sr@Latn.po: Updated Serbian translation.
-
-2003-12-13  Kjartan Maraas  
-
-	* no.po: Updated Norwegian translation.
-
-2003-12-10  Marco Ciampa 
-
-	*  it.po: updated italian translation
-
-2003-12-08  ERDI Gergo  
-
-	* POTFILES.in: Added ContactDates backend source
-
-2003-11-19  Marco Ciampa 
-
-	*  it.po: updated italian translation
-
-2003-11-06  JP Rosevear 
-
-	* POTFILES.in: update for shuffling
-
-2003-11-06  JP Rosvear 
-
-	* POTFILES.in: update for renaming
-
-2003-11-04  JP Rosevear 
-
-	* POTFILES.in: reflect new data server .server file names
-
-2003-11-03  JP Rosevear 
-
-	* POTFILES.in: Fix list of files
-
diff --git a/servers/google/libgdata-google/ChangeLog b/servers/google/libgdata-google/ChangeLog
deleted file mode 100644
index c8a126c..0000000
--- a/servers/google/libgdata-google/ChangeLog
+++ /dev/null
@@ -1,93 +0,0 @@
-2009-02-27  Matthew Barnes  
-
-	** Fixes bug #570696
-
-	* Makefile.am:
-	Replace SOUP_CFLAGS and SOUP_LIBS with GDATA_CFLAGS and GDATA_LIBS.
-
-2009-02-26  Tobias Mueller  
-
-	** Fixes bug #573175
-
-	* gdata-google-service.c:
-	Use a proper format string to call g_set_error with.
-
-2009-01-14  Matthew Barnes  
-
-	** 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  
-
-	* 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  
-
-	* 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  
-
-	** 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  
-
-	** 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  
-
-	** Fix for bug #527544.
-
-	* gdata-google-service.c: Added gdata_google_service_set_proxy to
-	support proxy.
-
-2008-04-16  Ebby Wiselyn 
-	** 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  
-
-	* gdata-google-service.c: Update for libsoup 2.4
-	(service_authenticate): Use soup-forms methods.
-
-2008-01-05  Nyall Dawson  
-
-	** 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  
-
-	** Created a ChangeLog
-
-
diff --git a/servers/google/libgdata/ChangeLog b/servers/google/libgdata/ChangeLog
deleted file mode 100644
index a406fce..0000000
--- a/servers/google/libgdata/ChangeLog
+++ /dev/null
@@ -1,102 +0,0 @@
-2009-02-27  Matthew Barnes  
-
-	** Fixes bug #570696
-
-	* Makefile.am:
-	Replace SOUP_CFLAGS and SOUP_LIBS with GDATA_CFLAGS and GDATA_LIBS.
-
-2008-08-07  Milan Crha  
-
-	** 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  
-
-	** 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  
-
-	** Fix for bug #527544.
-
-	* gdata-service-iface.c:
-	* gdata-service-iface.h: Added new interface set_proxy.
-
-2008-04-16  Ebby Wiselyn    
-	** 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  
-
-	* libgdata.pc.in: Adapt to newer libsoup
-
-2008-01-05  Suman Manjunath  
-
-	** Created a ChangeLog
-
-
diff --git a/servers/groupwise/ChangeLog b/servers/groupwise/ChangeLog
deleted file mode 100644
index b72c78d..0000000
--- a/servers/groupwise/ChangeLog
+++ /dev/null
@@ -1,1826 +0,0 @@
-2009-04-13  Chenthill Palanisamy  
-
-	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  
-
-	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  
-
-	** 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  
-
-	* servers/groupwise/e-gw-connection.c:
-	Use correct server parameter for getting folder information
-
-2009-02-02  Sankar P  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	* e-gw-item.c (e_gw_item_dispose):
-	Fix the memory leak of security field in the GwItem.
-
-2008-10-31  Matthew Barnes  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-	
-	Fixes #388966 (bnc)
-	* e-gw-item.c: (e_gw_item_new_from_soap_parameter): Use
-	right data type.							    
-
-2008-07-24  Sankar P  
-
-	* 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  
-
-	** 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  
-
-	* Makefile.am (libegroupwise_1_2_la_LIBADD): Link with
-	libedataserver because of the e-proxy functions.
-
-2008-06-02  Sankar P  
-
-	* e-gw-connection.c: (e_gw_connection_send_message):
-	Appropriately check the response before dumping it.
-	Fixes a crash.
-
-2008-05-14  Sankar P  
-
-	* 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  
-
-	* e-gw-container.c: (free_node):
-	Fixes a double free. 
-
-	** Fix for bug #532284
-
-2008-04-30  Chenthill Palanisamy  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	** 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  
-
-	Fixes part of bug#510949
-	* e-gw-item.c: (set_recipient_list_from_soap_parameter): leak fix.
-
-2008-01-15  Dan Winship  
-
-	* 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  
-
-	** 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  
-
-	** 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  
-	
-	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  
- 
-	** Fix for bug #458715.
-	
-	* e-gw-proxy.c: Fix for a wild pointer in proxy list.
- 
-2007-08-13  Ross Burton  
-
-	* e-gw-item.c:
-	Fix compile warnings.
-
-2007-08-10  Suman Manjunath  
-
-	** 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  
-
-	* 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  
-
-	** 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  
-
-	* e-gw-item.c:
-	Fix warnings reported by 'sparse'.  Patch from Kjartan Maraas.
-
-2007-04-01  Matthew Barnes  
-
-	** 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  
-
-	* e-gw-connection.c:
-	Don't mix declarations and code (#405495).
-	Patch from Jens Granseuer.
-
-2007-01-09  Harish Krishnaswamy 
-
-	* e-gw-item.c : Fixes #242270 .
-	Limit the array subscripts within bounds.
-
-2006-12-06  Harish Krishnaswamy  
-
-	* 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  
-
-	* e-gw-connection.c: (e_gw_connection_dispose):Remove
-	unused variable permissions_key.
-
-2006-12-04  Harish Krishnaswamy  
-
-	* 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  
-
-	* 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  
-
-	* e-gw-item.c: (e_gw_item_dispose): Fix leak of end_date.
-
-2006-12-03  Harish Krishnaswamy  
-
-	* e-gw-sendoptions.c: (parse_status_tracking_options):
-	Do not pass null params to libsoup calls.
-
-2006-12-03  Harish Krishnaswamy  
-
-	* e-gw-container.c:
-	(e_gw_container_set_from_soap_parameter): Fix leak of
-	the string value of 'total'.
-
-2006-11-20  Harish Krishnaswamy  
-
-	* 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  
-
-	* e-gw-filter.c (append_complex_component):
-	Filter elements are named 'group' not 'element'.
-
-2006-07-26  Matthew Barnes 
-
-	* e-gw-item.h: Add missing function declaration.
-
-2006-07-24  Veerapuram Varadhan  
-
-	* e-gw-connection.c: (e_gw_connection_init): Create SoupSessionSync
-	with a default timeout of 30 seconds.
-	
-2006-07-22  Chenthill Palanisamy  
-
-	* 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  
-
-	* e-gw-item.c, e-gw-sendoptions.h:
-	Added security-classification support for GW send-options.
-
-2006-06-13  Parthasarathi Susarla 
-	
-	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 
-	
-	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 
-	
-	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  
-
-	Reviewed by Harish Krishnaswamy 
-
-	* 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  
-
-	* e-gw-connection.c : (e_gw_connection_get_items_delta):
-	Fix for an infinite looping issue.
-	
-2006-04-07  Sushma Rai  
-
-	* doc/GW_SABdeltas.txt: Added addressbook deltas schema file.
- 
-2006-03-17  Parthasarathi Susarla 
-	
-	* 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  
-
-	* e-gw-connection.c: (e_gw_connection_get_quick_messages)
-	Timestamp should be updated for the Modified call too.
-	
-2006-01-23  Chenthill Palanisamy  
-
-	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  
-
-	* 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 
-	
-	* e-gw-connection.c: (reauthenticate): return if priv is NULL
-
-2005-12-13  Tor Lillqvist  
-
-	* e-gw-connection.c (e_gw_connection_dispose): Guard agsinst
-	priv->uri being NULL, too.
-
-2005-12-06  Parthasarathi Susarla 
-	
-	* 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  
-
-	* e-gw-sendoptions.c: Use g_ascii_strcasecmp() instead of
-	strcasecmp() for portability.
-
-2005-11-09  Sankar P  
-
-	* 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 
-
-	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 
-	* e-gw-connection.c: (e_gw_connection_format_date_string):
-	Return if the length of the dtstring is 0
-
-2005-09-15  Parthasarathi Susarla 
-	
-	* 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 
-
-2005-09-15  Sankar P  
-
-	* 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  
-
-	* e-gw-connection.c: (e_gw_connection_read_cal_ids): Get 
-	the ids of tasks and appointment only.
-
-2005-08-24  Sankar P  
-	
-	* 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  
-
-	* e-gw-item.c (e_gw_item_append_to_soap_message): cast strlen to
-	int for printf.
-
-2005-08-13  Tor Lillqvist  
-
-	* Makefile.am: Use NO_UNDEFINED.
-
-2005-08-10  Parthasarathi Susarla 
-	
-	* e-gw-connection.c: (e_gw_connection_parse_response_status):
-	return E_GW_CONNECTION_OTHER for error 53530
-
-2005-08-06  Vivek Jain 
-
-	* 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  
-
-	* 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 
-	
-	* 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  
-
-	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  
-
-	* 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  
-
-	Fixes #310752
-	* e-gw-item.c: (e_gw_item_set_calendar_item_elements): Send
-	the icalid.
-
-2005-07-19  Chenthill Palanisamy  
-
-	* 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  
-
-	* 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  
-
-	* 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  
-
-	* e-gw-item.c: (e_gw_item_set_calendar_item_elements):
-	Fix compiler warnings.
-
-2005-07-08  Harish Krishnaswamy  
-
-	* 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  
-
-	* 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 
-	
-	* 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  
-
-	* 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 
-	
-	* 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  
-
-	* e-gw-connection.c (e_gw_connection_get_items_delta):
-	Changed param to subparam, to get the paramater sync.
-
-2005-07-02  Harish Krishnaswamy  
-
-	* e-gw-container.c: (e_gw_container_dispose):
-	fix compiler warnings.
-
-2005-07-02  Chenthill Palanisamy  
-
-	* 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 
-
-	* 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  
-
-	* 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  
-
-	* libegroupwise.pc.in: Remove hardcoded value.
-	Use LIBSOUP from configure instead.
-
-2005-05-12  Ulrich Neumann 
-
-	* e-gw-item.c (get_notification_value): Fix a memory leak.
-
-2005-05-09  Sushma Rai  
-
-	* 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  
-
-	* 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 
-
-	* e-gw-sendoptions.c (set_status_tracking_changes):
-	Fixed two memory leaks.
-
-2005-04-26  Parthasarathi Susarla 
-	* e-gw-item.[ch]: Reverting patch adding itemReference 
-	  in the EGwItemAttachment structure.
-
-2005-04-22 Vivek Jain 
-
-	* 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 
-	
-	* 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 
-	
-	* 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 
-	
-	* 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  
-
-	* 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 
-
-       * 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  
-
-	* 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  
-
-	* 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 
-	
-	* 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  
-
-	* 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 
-	
-	* 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  
-
-	* 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 
-	
-	* e-gw-connection.[ch]:
-	  Parse loginResponse for serverUTCTime and set it
-	  in the priv structure of the connection
-	  *** Patch Reviewed by Chenthill Palanisamy 
-	
-	* e-gw-item.[ch]:
-	  Set the content type for the message
-	  
-2005-02-08  Harish Krishnaswamy  
-
-	* 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    
-                                                                                                                             
-        * 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  
-
-	* create-account.c:
-	* soap-test.c:
-	Remove useless libgnome use.
-
-2005-02-07  Harish Krishnaswamy  
-
-	* doc/gw-soap-methods.xsd:
-	* doc/gw-soap-types.xsd: Updated schema files.
-	
-
-2005-02-04  Chenthill Palanisamy  
-
-	* e-gw-item.c: (set_sendoptions_from_soap_parameter),
-	(append_gw_item_options): Set the whenconvenient flag
-	correctly.
-
-2005-02-04  Parthasarathi Susarla 
-	
-	* 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 
-	
-	* 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  
-
-	* e-gw-connection.c: (e_gw_connection_position_cursor),
-	(e_gw_connection_read_cursor): Added the container ids.
-
-2005-02-03  Chenthill Palanisamy  
-
-	* 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 
-	
-	Fix Reviewed by Chenthill Palanisamy 
-
-	* 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  
-
-	* 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 
-	* 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  
-
-	* 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  
-
-	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  
-
-	* e-gw-connection.c (e_gw_connection_new) : append NULL 
-	to g_strconact args. Doh 
-
-2005-01-20  Parthasarathi Susarla 
-
-	* 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 
-
-	* 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 
-	
-	* e-gw-item.[ch]
-	(set_recipient_list_from_soap_parameter): support for status
-	tracking of a sent mail
-
-2005-01-12  Chenthill Palanisamy 
-
-	* 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  
-
-	* 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 
-	
-	* 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 
-	* e-gw-item.[ch]
-	  (e_gw_item_set_source): sets the source element for
-	  mails.
-
-2005-01-11  Parthasarathi Susarla 
-
-	* 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 
-
-	* e-gw-connection.c
-	  (e_gw_connection_move_item): changed moveItemsRequest
-	  to moveItemRequest.
-
-2005-01-11  Parthasarathi Susarla 
-	
-	* 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  
-	* e-gw-item.c
-	  (add_attachment_to_soap_message): remove the 
-	  duplicate free on size.
-
-2005-01-10  Sivaiah Nallagatla 
-                                                                                                                             
-        * e-gw-connection.[ch](e_gw_connection_purge_deleted_items)
-        new api which deletes items from trash
-
-2005-01-10  Parthasarathi Susarla 
-	
-	* e-gw-item.c
-	(e_gw_item_new_from_soap_parameter): setting item type
-	for Sharefolder Notification.
-
-2005-01-10  Vivek Jain 
-	
-	* 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  
-
-	* 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 
-
-	* e-gw-item.c
-	  (add_attachment_to_soap_message): setting the proper 
-	  attachment size
-
-2005-01-10  Sivaiah Nallagatla 
-
-	* 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 
-
-	* doc/gw-soap-methods.xsd 
-	* doc/gw-soap-types.xsd : latest soap schema files 
-	
-2005-01-06  Parthasarathi Susarla 
- 
-	* 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 
-	
-	* 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 
-
-       * 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 
-
-	* 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 
-
-	* 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 
-
-	* 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 
-
-	* 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 
-
-	* 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 
-
-	* 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 
-
-	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    
-                                                                                                    
-        * 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  
-
-	* 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  
-
-	* 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 
-
-	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 
-
-	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 
-
-	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 
-
-	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  
-
-	* Makefile.am: build versioned library and don't hard code pkg
-	config name
-
-2004-09-22  Harish Krishnaswamy  
-
-	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 
-	
-	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 
-
-	* e-gw-item.h:
-	Defined a string for handling acceptLevel "Free" in appointments
-
-2004-08-24 Sivaiah Nallagatla 
-
-	* 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 
-	
-	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 
-
-	* doc/gw-soap-types.xsd 
-	* doc/gw-soap-mehtods.xsd : check in latest 
-	soap schemas 
-
-2004-08-13  Chenthill Palanisamy 
-
-	* 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  
-
-	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 
-
-	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  
-
-	* 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  
-
-	* 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  
-
-	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  soap element.		
-
-	(e_gw_item_append_to_soap_message): Add the  element explicitly 
-	to  element, in addition to the  element.
-
-	* e-gw-item.h: Add EGwItemOrganizer structure and get/set functions
-	for the same.
-	
-2004-06-15 Sivaiah Nallagatla   
-
-	* 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  
-
-	* 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 
-
-	* doc/gw-soap-methods.xsd:
-	* doc/gw-soap-types.xsd: added new schemas from Tim.
-
-2004-06-01  Sivaiah Nallagatla 
-
-	* 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 
-
-	* 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 
-
-	* 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 
-	
-	* 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  
-
-
-	* 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 
-
-	* 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  
-	
-	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 
-
-	* 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  
-
-	* 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  
-	
-	* 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  
-
-	* 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  
-	
-	* 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  
-	* 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  
-
-	* 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   
-
-	* 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  
-
-	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   
-	
-	* e_gw_item.c ( append_group_fields_to_soap_message) : add id, distType
-	itemType in the request 
-	 
-2004-04-15 Sivaiah nallagatla   
-	
-	* 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  
-
-	* 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  
-
-	* 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 
-
-	* 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 
-                                                                                                                              
-        * 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 
-
-	* 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 
-
-	* 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 
-
-	* e-gw-container.c  (e_gw_container_is-writable) : return
-        correct types in g_return_val_if_fail macros.
-
-2004-03-26  Rodrigo Moya 
-
-	* e-gw-item.c (e_gw_item_append_to_soap_message): set the 
-	property if it's set.
-
-2004-03-22  Rodrigo Moya 
-
-	* 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 
-
-	* e-gw-connection.c: include gnome-i18n.h
-
-2004-03-19  Rodrigo Moya 
-
-	* e-gw-connection.[ch] (e_gw_connection_get_error_message): new function.
-
-2004-03-19  Rodrigo Moya 
-
-	* e-gw-connection.c (e_gw_connection_remove_item): fixed SOAP message
-	format for not confusing the server.
-
-2004-03-18  Rodrigo Moya 
-
-	* e-gw-item.c (e_gw_item_append_to_soap_message): add "length" attribute
-	for "message" property.
-
-2004-03-18  Rodrigo Moya 
-
-	* 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 
-
-	* e-gw-message.[ch]
-	(e_gw_message_write_string_parameter_with_attribute): use const
-	for attribute-related arguments.
-
-2004-03-18  Rodrigo Moya 
-
-	* 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 
-
-	* 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 
-
-	* 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 
-
-	* 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 
-
-	* 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 
-
-	* doc/gw-soap-types.xml :
-	* doc/gw-soap-methods.xml : checked in latest  version of these files 
-
-2004-02-13  JP Rosevear 
-
-	* Makefile.am: additional includes for builddir != srcdir
-
-2004-02-18  Rodrigo Moya 
-
-	* 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 
-
-	* 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 
-
-	* 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 
-
-	* Makefile.am: re-enabled create-account test program, it does not need
-	the calendar libraries.
-
-2004-02-06  Rodrigo Moya 
-
-	* 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 
-
-	Moved Groupwise API library to its own directory, for easy reuse in
-	both calendar and addressbook backends.
-- 
2.7.4