2008-11-20  Milan Crha  <mcrha@redhat.com>

	** Part of fix for bug #558883

	* camel-imap-store.c: (parse_list_response_as_folder_info):
	Do not strip CAMEL_STORE_INFO_FOLDER_CHECK_FOR_NEW if set.
	* camel-imap-store.c: (imap_can_refresh_folder):
	Check if can refresh folder based on the data in store's folder
	summary, to not download whole folder content because of this.
	* camel-imap-folder.c: (imap_setv):
	Set the 'check_folder' flag to store's folder summary too.

2008-11-19  Srinivasa Ragavan  <sragavan@novell.com>

	** Fix for bug #561069

	* camel-imap-folder.c (imap_expunge): If nothing to expunge, don't
	crash.

2008-11-07  Srinivasa Ragavan  <sragavan@novell.com>

	** Fix for bug #558883

	* camel-imap-folder.c: (imap_expunge): Do in bulk

2008-11-06  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #558737

	* camel-imap-folder.c: (handle_copyuid_copy_user_tags),
	(imap_transfer_online): Do not use 'camel_folder_refresh_folder', use
	'imap_refresh_folder' instead, because the former locks the folder
	lock too, which could make a deadlock when we are refreshing that
	folder in other thread, which is waiting for the connect lock we hold.

2008-10-17  Srinivasa Ragavan  <sragavan@novell.com>

	** Fix for bug #556688

	* camel/providers/imap/camel-imap-folder.c: Sync before emit the
	signal.

2008-10-16  Srinivasa Ragavan  <sragavan@novell.com>

	* camel-imap-message-cache.c (camel_imap_message_cache_new):
	Optimize/speed up loading.

2008-10-15  Srinivasa Ragavan  <sragavan@novell.com>

	* camel-imap-folder.c: (imap_get_message): Mark info as dirty when so.
	* camel-imap-summary.c: (content_info_from_db),
	(content_info_to_db): Save/load cinfo to db well.

2008-10-14  Srinivasa Ragavan  <sragavan@novell.com>

	** Fix for bug #552261

	* camel-imap-folder.c: Include camel-db.h
	* camel-imap-store.c:
	* camel-imap-summary.c:

2008-10-14  Srinivasa Ragavan  <sragavan@novell.com>

	** Fix for bug #550998 

	* camel/providers/imap/camel-imap-folder.c: Refresh, when everything
	local is deleted on the server.

2008-09-23  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #553298

	* camel-imap-folder.c: (get_matching), (imap_sync): Unset all known
	server flags on the message when the resulting flag list is empty.

2008-09-23  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #552631

	* camel-imap-store.c: (imap_auth_loop): Do not forget password
	on 'resource temporarily unavailable' exception.

2008-09-14  Matthew Barnes  <mbarnes@redhat.com>

	* camel-imap-folder.c (imap_update_summary):
	Don't mix declarations and code.

2008-09-13  Chenthill Palanisamy  <pchenthill@novell.com>

	* camel-imap-journal.h: added rp_in_progress.
	* camel-imap-folder.c (imap_sync): used to not replay
	journal if its already in progress.					   

2008-09-04  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #547884

	* camel-imap-folder.c: (imap_get_quota_info):
	Do not crash on unexpected response, rather skip it.

2008-09-03  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #548343

	* camel-imap-store.c: (fill_fi): Do not read summary information for
	the folder from DB when we have it fresh in memory already.

2008-08-21  Srinivasa Ragavan  <sragavan@novell.com>

	* camel/providers/imap/camel-imap-summary.c: Implement in-db uid sort
	while loading.

2008-08-19  Srinivasa Ragavan  <sragavan@novell.com>

	* camel/providers/imap/camel-imap-folder.c: Delete from DB for expunge
	in a optimized way.

2008-08-19  Srinivasa Ragavan  <sragavan@novell.com>

	* camel/providers/imap/camel-imap-folder.c: Refresh message list when
	expunged.

2008-08-19  Srinivasa Ragavan  <sragavan@novell.com>

	* camel/providers/imap/camel-imap-journal.c: Revert unwanted change.

2008-08-08  Chenthill Palanisamy  <pchenthill@novell.com>

	* camel-imap-journal.c: (imap_entry_load), (imap_entry_write),
	(journal_decode_folder), (imap_entry_play):
	* camel-imap-search.c: (imap_body_contains): Fixed a couple of 
	warnings and removed the disabled debug printf's.						     

2008-08-06  Matthew Barnes  <mbarnes@redhat.com>

	* camel-imap-journal.c:
	* camel-imap-journal.h:
	* camel-imap-store.h:
	* camel-imap-search.c:
	* camel-imap-search.h:
	Use CamelDList instead of EDList.

2008-08-06  Srinivasa Ragavan  <sragavan@novell.com>

	* camel/providers/imap/camel-imap-folder.c: Mark summary as dirty when
	it is.

2008-08-05  Srinivasa Ragavan  <sragavan@novell.com>
	
	** Fix for bug #546415

	* camel/providers/imap/camel-imap-search.c: The summary is now uids.
	So deal it that way.

2008-08-05  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes part of #533823
	* Makefile.am: Added camel-imap-journal.[ch]
	* camel-imap-command.c: (imap_read_response):
	* camel-imap-folder.c: (camel_imap_folder_class_init),
	(camel_imap_folder_init), (camel_imap_folder_get_type),
	(camel_imap_folder_new), (camel_imap_folder_selected),
	(imap_finalize), (imap_rename), (imap_refresh_info), (imap_sync),
	(imap_expunge_uids_offline), (imap_expunge), (imap_append_offline),
	(imap_append_online), (imap_transfer_offline),
	(imap_transfer_online), (imap_transfer_resyncing), (imap_thaw),
	(imap_get_quota_info):
	* camel-imap-folder.h:
	* camel-imap-journal.c: (camel_imap_journal_get_type),
	(camel_imap_journal_class_init), (camel_imap_journal_init),
	(free_uid), (camel_imap_journal_finalize), (unref_folder),
	(imap_entry_free), (free_uids), (decode_uids), (imap_entry_load),
	(encode_uids), (imap_entry_write), (journal_decode_folder),
	(imap_entry_play), (camel_imap_journal_new),
	(camel_imap_journal_log), (close_folder),
	(camel_imap_journal_close_folders),
	(camel_imap_journal_uidmap_add),
	(camel_imap_journal_uidmap_lookup):
	* camel-imap-journal.h:
	* camel-imap-store.c: (camel_imap_store_class_init),
	(camel_imap_store_finalize), (camel_imap_store_get_type),
	(construct), (parse_capability), (query_auth_types),
	(imap_connect), (imap_disconnect), (get_folder), (create_folder),
	(get_folder_info), (camel_imap_store_connected):
	* camel-imap-store.h: Disco to Offline migration.

2008-08-01  Matthew Barnes  <mbarnes@redhat.com>

	** Fixes bug #538620

	* camel-imap-folder.c (imap_get_message):
	Improve wording of "cannot get message" error message.

2008-08-01  Matthew Barnes  <mbarnes@redhat.com>

	* camel-imap-store-summary.c:
	Remove unnecessary <libedataserver/e-memory.h> include.

2008-07-31  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #545103

	* camel-imap-folder.c: (imap_sync_online): Sort changed UIDs first.
	* camel-imap-folder.c: (get_matching): Adapt function to new behaviour,
	before we tested against all messages in the folder, now only against
	changes, thus detect ranges properly to not touch other messages than
	we are actually changed.

2008-07-31  Srinivasa Ragavan  <sragavan@novell.com>

	* camel/providers/imap/camel-imap-folder.c: Fix a case, where the info
	isn't synced to the db, but only to the server.

2008-07-31  Srinivasa Ragavan  <sragavan@novell.com>

	** Fix for bug #545081

	* camel/providers/imap/camel-imap-message-cache.c: Add a new simple
	delete cache function.
	* camel/providers/imap/camel-imap-message-cache.h:
	* camel/providers/imap/camel-imap-store.c: Now forget the folder from
	DB.

2008-07-31  Srinivasa Ragavan  <sragavan@novell.com>

	* camel/providers/imap/camel-imap-message-cache.c: Fix delete cache
	code, when the summary is deleted.

2008-07-30  Srinivasa Ragavan  <sragavan@novell.com>

	* camel/providers/imap/camel-imap-folder.c: Revamp imap_rescan. It
	seemed to be broken to me, if a older message in the uid is broken, we
	seem to delete the summaries of the later messages. This could be
	experimental code. 

2008-07-29  Srinivasa Ragavan  <sragavan@novell.com>

	* camel/providers/imap/camel-imap-folder.c: Fix imap sync/download
	updates. Atm, when you delete/undelete on the server the total is
	broken. But things should sync better otherwise.

2008-07-28  Srinivasa Ragavan  <sragavan@novell.com>

	* camel/providers/imap/camel-imap-folder.c: Fix uid/pstring issues.

2008-07-28  Srinivasa Ragavan  <sragavan@novell.com>

	* camel/providers/imap/camel-imap-folder.c: Fix compiler warnings.
	* camel/providers/imap/camel-imap-message-cache.c:
	* camel/providers/imap/camel-imap-utils.c:

2008-07-28  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #349870

	* camel-imap-folder.c: (do_append), (imap_append_online):
	* camel-imap-command.c: (imap_command_start),
	(camel_imap_command_continuation): Do not hide errors, rather
	report them to the caller as expected.

2008-07-28  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #336074

	* camel-imap-provider.c: (imap_conf_entries):
	* camel-imap-store.h:
	* camel-imap-store.c: (construct), (imap_setv), (imap_getv),
	(imap_can_refresh_folder): New option "check_lsub", when set,
	then checking for new messages in subscribed folders.

2008-07-27  Srinivasa Ragavan  <sragavan@novell.com>

	* camel/providers/imap/camel-imap-folder.c: Fix unread count issue
	with imap providers.

2008-07-26  Srinivasa Ragavan  <sragavan@novell.com>

	* camel/providers/imap/camel-imap-folder.c: Fix compiler warnings.

2008-07-25  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #544049

	* camel-imap-summary.c: (EXTRACT_DIGIT): Do not read beyond the buffer.
	* camel-imap-folder.c: (merge_custom_flags): Pass proper pointer to
	the 'camel_flag_set' function, otherwise it messes things.

2008-07-23  Milan Crha  <mcrha@redhat.com>

	** Part of fix for bug #543943

	* camel-imap-store.c: (camel_imap_store_finalize):
	* camel-imap-summary.c: (message_info_from_db): Leak fix.

2008-07-18  Matthew Barnes  <mbarnes@redhat.com>

	* camel-imap-summary.c: #include "camel-string-utils.h"

2008-07-16  Sankar P  <psankar@novell.com>

	Pushing disk summary changes from the madagascar branch

	* camel-imap-folder.c (camel_imap_folder_selected),
	(imap_refresh_info), (fillup_custom_flags), (merge_custom_flags),
	(imap_rescan), (get_matching), (imap_sync_offline),
	(imap_sync_online), (imap_expunge_uids_offline),
	(imap_update_summary), (camel_imap_folder_changed):
	* camel-imap-message-cache.c (camel_imap_message_cache_new):
	* camel-imap-store.c (fill_fi):
	* camel-imap-summary.c (camel_imap_summary_class_init),
	(camel_imap_summary_new), (summary_header_from_db),
	(summary_header_to_db), (message_info_from_db),
	(message_info_to_db), (content_info_from_db), (content_info_to_db),
	(camel_imap_summary_add_offline),
	(camel_imap_summary_add_offline_uncached), (uid_compare):
	* camel-imap-utils.c (get_summary_uid_numeric):

2008-06-30  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #330838

	* camel-imap-store.c: (get_folders_sync): Notify application about
	server folder changes as soon as we know about them.

2008-06-30  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #536486

	* camel-imap-folder.c: (imap_expunge_uids_online):
	Do full EXPUNGE in case the UID EXPUNGE fails. Just a fallback
	for broken servers telling they know the UID EXPUNGE, but they
	don't. The error is printed on the console too.

2008-06-24  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #531712

	* camel-imap-folder.c: (imap_sync_online):
	Do not reset flags on no-flag situation, rather add and remove there
	the \Seen flag, which will ensure to keep there flags set on the server
	by other users in shared folders, for example.

2008-06-05  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #530241

	* camel-imap-folder.c: (imap_sync_online): Recognize no-flag situation
	properly and in that case use two commands, one set and one unset,
	because we do not track previously set user flags.

2008-06-04  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #509721

	* camel-imap-folder.c: (imap_transfer_offline),
	(imap_transfer_resyncing):
	Do not delete original message if exception occurred.

2008-05-30  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #374616

	* camel-imap-command.c: (camel_imap_command_response):
	Show server's error message on "BYE" if available.

2008-05-29  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #326149

	* camel-imap-store-summary.c: (camel_imap_store_summary_add_from_full):
	Set inbox flag only on real inboxes.

2008-05-19  Matthew Barnes  <mbarnes@redhat.com>

	** Fixes part of bug #531591

	* camel-imap-store.c:
	* camel-imap-folder.c:
	Don't use TeX-style quotes in user-visible messages.

2008-04-30  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #274316

	* camel-imap-folder.c: (any_has_user_tag), (do_copy):
	Use XGWMOVE only when none of the messages has set any user tag.
	* camel-imap-folder.c: (handle_copyuid_copy_user_tags):
	Do NOOP on the destination folder before refreshing info so
	server has enough time to propagate our last copy command there.

2008-04-14  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #270406

	* camel-imap-store.h:
	* camel-imap-store.c: (struct capabilities[]):
	Add new check for IMAP_CAPABILITY_QUOTA.
	* camel-imap-folder.c: (camel_imap_folder_class_init),
	(imap_get_quota_info): Implement get_quota_info on a folder.

2008-04-14  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #274316

	* camel-imap-folder.c: (handle_copyuid_copy_user_tags), (do_copy):
	Also copy user tags when copying messages between folders.

2008-04-02  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #369512

	* camel-imap-folder.c: (imap_sync_offline):
	Store to folder's and store's summary actual numbers
	of unread/total/deleted/junked mails, not the old one.

2008-04-02  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #257361

	* camel-imap-folder.c: (get_folder_status), (imap_refresh_info):
	Ask for folder status on the server and rescan it in case different
	number of total or unseen messages than in the summary.

2008-03-31  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #521015

	* camel-imap-folder.c: (merge_custom_flags), (imap_rescan):
	Also check for changes in custom flags and store them, if any.

2008-03-27  Matthew Barnes  <mbarnes@redhat.com>

	** Fixes part of bug #518710

	* camel-imap-search.c:
	* camel-imap-store-summary.c:
	Use GLib's new MD5 Checksum API.  The MD5 utilities in
	libedataserver are now deprecated.

2008-03-27  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #520526

	* camel-imap-folder.c: (imap_refresh_info), (imap_rescan),
	(imap_update_summary):
	Stop work as soon as we know application is going to exit.

2008-02-18  Chenthill Palanisamy  <pchenthill@novell.com>

	* camel-imap-store.c (connect_to_server): Fix for some
	warnings. Fix from opensuse downstream.						  

2008-02-18  Srinivasa Ragavan  <sragavan@novell.com>

	** Fix for bnc #167638

	* camel-imap-folder.c: (imap_rescan), (camel_imap_folder_changed): Upstreamed 
	OpenSUSE patch. Patch by Fejj to quit evolution faster. 
	(Dont try downloading while exitting).

2008-02-11  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #515054

	* camel-imap-utils.c: (imap_parse_flag_list), (imap_create_flag_list):
	Read/write CAMEL_MESSAGE_NOTJUNK flags from/to server if supported.

2008-02-08  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #505806

	* camel-imap-folder.c: (imap_sync_online), (do_append):
	* camel-imap-utils.h: (imap_create_flag_list): Change of the prototype.
	* camel-imap-utils.c: (imap_create_flag_list):
	Store user flags on the server only when supported by the server.

2008-02-08  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #324804

	* camel-imap-folder.c: (imap_update_summary):
	Report all new messages as recent, even without that flag, thus new
	messages will be filtered even after saw by other software earlier.

2008-01-24  Srinivasa Ragavan  <sragavan@novell.com>

	* camel-imap-folder.c: (construct_junk_headers),
	(imap_update_summary): Extract the junk specific headers onto the
	headers portion of the message info for fast filtering.

2008-01-22  Srinivasa Ragavan  <sragavan@novell.com>

	** Fix for bug #481699

	* camel-imap-folder.c (handle_copyuid): Don't crash if the server
	returns you bad COPYUID.

2008-01-23  Milan Crha  <mcrha@redhat.com>

	* camel-imap-store.c (imap_auth_loop): Fix another typo.

2008-01-22  Matthew Barnes  <mbarnes@redhat.com>

	* camel-imap-store.c (imap_auth_loop): Fix a typo.

2008-01-21  Matthew Barnes  <mbarnes@redhat.com>

	** Fixes part of bug #510303

	* camel-imap-store.c (imap_auth_loop):
	Escape the authentication error message so the markup parser
	will parse it verbatim.

2008-01-17  Matthew Barnes  <mbarnes@redhat.com>

	** Fixes part of bug #506250

	* camel-imap-store.c (imap_auth_loop):
	Use a consistently worded password prompt message by calling
	camel_session_build_password_prompt().

2008-01-14  Philip Van Hoof  <pvanhoof@gnome.org>

	* camel-imap-folder.c: Small memory leak

2007-12-14  Milan Crha  <mcrha@redhat.com>

	** Part of fix for bug #211353

	* camel-imap-summary.h:
	* camel-imap-summary.c:
	* camel-imap-utils.h:
	* camel-imap-utils.c:
	* camel-imap-folder.c:
	Dropped previous storing of labels into message flags and user_tags
	and storing them only to user_flags.

2007-12-11  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #336074

	* camel-imap-folder.h: (struct _CamelImapFolder):
	* camel-imap-folder.c: (imap_property_list), 
	(camel_imap_folder_get_type), (camel_imap_folder_class_init),
	(imap_getv), (imap_setv): New property of IMAP folder, check_folder,
	to let user setup for each folder to check for new mail here or not,
	but only if not enabled 'check_all' for the store.
	* camel-imap-store.c: (imap_can_refresh_folder),
	(camel_imap_store_class_init): Implements its own CamelStore's
	can_refresh_folder function - IMAP folder has a property if it
	should be refreshed always or not, so depends on this property
	in case parent class doesn't permit refresh of the folder or
	the store doesn't have enabled 'check_all' property.

2007-11-14  Matthew Barnes  <mbarnes@redhat.com>

	** Merge a bunch of compiler warning fixes and cosmetic
	   cleanups from camel-lite.

2007-11-12  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #495086

	* camel-imap-utils.c: (imap_body_decode):
	Check for NULL too, so do not crash when something goes wrong.

2007-11-05  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #430420

	* camel-imap-utils.c: (imap_body_decode):
	Returned size <= 0 is an error, as mentioned Robert Burrelldonkin.

2007-09-07  Kjartan Maraas  <kmaraas@gnome.org>

	* camel-imap-store.c: (imap_connect_online), (get_folder_status),
	(get_folder_online), (create_folder), (get_folders_sync),
	(get_folder_info_online): NULL vs 0.

2007-09-27  Matthew Barnes  <mbarnes@redhat.com>

	** Fixes part of bug #474000

	* camel-imap-search.c (hash_match):
	Use GLib's Base64 API instead of Camel's.

2007-09-07  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #473880

	* camel-imap-search.c: Added header libedataserver/e-sexp.h
	to fix compiler warning.

2007-08-24  Wang Xin  <jedy.wang@sun.com>

	** Fix for bug #365213

	* camel-imap-folder.c: If a part's parent is message/* but its
	grandparent is not, skip that part.

2007-08-13  Srinivasa Ragavan  <sragavan@novell.com>

	** Fix for bug #420462

	* camel-imap-store.c: (get_folder_info_offline): Create all folders
	with NO_CHILDREN flag and when filling FolderInfos depending on child
	status uncheck it.

2007-08-09  Sankar P  <psankar@novell.com>

	* camel-imap-folder.c: (parse_fetch_response):
	To handle IMAP Server brokenness, Returning empty body, etc. 
	Fixes #355640 and a lot of duplicates as well.

2007-07-09  Gilles Dartiguelongue  <gdartigu@svn.gnome.org>

	* camel-imap-folder.c: (do_append), (decode_internaldate),
	(add_message_from_data):
	Fix compilation warnings (#363384)

2007-06-15  Matthew Barnes  <mbarnes@redhat.com>

	* camel-imap-command.c (imap_command_strdup_vprintf):
	Fix a memory leak (#447753).

2007-05-11  Srinivasa Ragavan  <sragavan@novell.com>

	* camel-imap-provider.c: Fix for bug #347326 from Ebby Wiselyn.

2007-04-05  Ross Burton  <ross@openedhand.com>

	* camel-imap-folder.c:
	Use g_mkdir_with_parents (#383686).

2007-03-29  Matthew Barnes  <mbarnes@redhat.com>

	* camel-imap-store.c:
	E-D-S requires GLib 2.10 now; remove dead backward-compatibility
	code for GLib < 2.8 (#418971).

2007-03-29  Matthew Barnes  <mbarnes@redhat.com>

	* camel-imap-store-summary.c:
	Fix "incompatible pointer type" warnings (#360619).

2007-03-26  Matthew Barnes  <mbarnes@redhat.com>

	* camel-imap-utils.c:
	Don't mix declarations and code (#405495).
	Patch from Jens Granseuer.

2007-03-14  Sankar P  <psankar@novell.com>

	* camel-imap-folder.c: (imap_update_summary):
	Debug statements should be conditional

2007-02-23  Matthew Barnes  <mbarnes@redhat.com>

	** Fixes bug #356177

	* camel-imap-command.c:
	* camel-imap-folder.c:
	* camel-imap-private.h:
	* camel-imap-store.c:
	Migrate from EMutex to GStaticMutex or GStaticRecMutex.

2007-01-30  Sankar P  <psankar@novell.com>

	* camel-imap-folder.c: (imap_update_summary):
	Some IMAP Servers doesnt return headers if there
	is more than one consecutive space in the HEADER string. 

2007-01-22  Sankar P  <psankar@novell.com>

	* camel-imap-folder.c: (imap_update_summary):
	* camel-imap-store.c: (camel_imap_store_finalize), (construct):
	* camel-imap-store.h:
	Make IMAP Headers fetching configurable.

2006-09-20  Harish Krishnaswamy <kharish@novell.com>

	Modified Sankar's patch to avoid breaking the string
	freeze.

	* camel-imap-store.c: (connect_to_server):
	* camel-imap-store.h:
	Do not send the password in plain-text, 
	if LOGINDISABLED Capability is set in the server
	Fixes #350617

2006-09-04  Harish Krishnaswamy  <kharish@novell.com>

	* Makefile.am: Add camel-imap-private.h to
	noinst_HEADERS. Fix to allow the tarball to
	build.

2006-09-01  Sankar P  <psankar@novell.com>

	* camel-imap-folder.[ch]:
	* camel-imap-private.h:
	Show messages from cache, before checking for new mails.
	Fixes #350250
	
2006-08-28  Sankar P  <psankar@novell.com>

	* camel-imap-folder.c (imap_update_summary):
	Provide a way to fetch all Headers while initial
	downloading of mails.
	Use EVO_IMAP_FETCH_ALL_HEADERS.

2006-08-23  Srinivasa Ragavan  <sragavan@novell.com>

	** Fix for bug #349847 by Matthew Barnes  
	
	* camel-imap-message-cache.c: (camel_imap_message_cache_new):
	Initialize gerror to NULL.

2006-07-12  Andre Klapper  <a9016009@gmx.de>

	* camel-imap-provider.c:
	adding trailing colon to string. Fixes bug #331858.

2006-06-13  Andre Klapper <a9016009@gmx.de>

	* camel-imap-store.c:
	changing "couldn't", "can't" and "didn't" to proper
	English. Fixes bug #342160.

2006-05-22  Jeffrey Stedfast  <fejj@novell.com>

	* camel-imap-command.c (imap_read_untagged): Make sure the literal
	length is non-negative (yes, some servers are sending negative
	values here). Fixes Novell bug #177394.

2006-05-19  Jeffrey Stedfast  <fejj@novell.com>

	* camel-imap-folder.c (imap_search_by_expression)
	(imap_search_by_uids, imap_search_free): Get rid of the
	search_lock and simply reuse the connect_lock.

2006-05-18  Jeffrey Stedfast  <fejj@novell.com>

	* camel-imap-folder.c (camel_imap_folder_selected, imap_rename)
	(imap_append_offline, imap_append_online, imap_append_resyncing)
	(imap_transfer_offline, imap_transfer_online)
	(imap_transfer_resyncing, camel_imap_folder_changed): Get rid of
	the cache_lock and use the service connect_lock instead. Fixes
	some possible deadlock conditions.

2006-05-10  Parthasarathi Susarla <sparthasarathi@novell.com>

	* camel-imap-folder.c: Add space at the end of
	CAMEL_MESSAGE_INFO_HEADERS. The content-type header wont be
	fetched otherwise(it mergers with the MESSAGE_LIST_HEADER).  This
	fix shows the attachment icon in the message list

2006-05-01  Jeffrey Stedfast  <fejj@novell.com>

	Fix for bug #315976.

	* camel-imap-store.c (construct): Only override the namespace if
	the URL param override_namespace is also set.
	(get_folder_info_offline): Always include INBOX if we are being
	asked for the toplevel folder-info tree.
	(refresh_refresh): Make sure to always query the server for INBOX.
	(get_folder_info_online): Same.

2006-04-21  Jeffrey Stedfast  <fejj@novell.com>

	* camel-imap-store.c (connect_to_server_wrapper): Don't do
	fallback for SSL/TLS. Fixes bug #321797.

2006-04-19  Sankar P  <psankar@novell.com>

	* camel-imap-folder.c (imap_update_summary): Instead of
	downloading HEADERS try to download the specific HEADER FIELDS so
	that the initial loading time is considerably reduced.
		
2006-01-17  Parthasarathi Susarla <sparthasarathi@novell.com>
	
	** See Bug #323106, #326385
	* camel-imap-store.c:
	(imap_connect_online):
	(get_folder_online):
	(rename_folder_info):
	(create_folder):
	(get_folders_sync):
	Use %G instead of %S
	
	* camel-imap-command.c:
	(camel_imap_command):
	(imap_command_strdup_vprintf):
	use %G instead of %F

	Committed on behalf of Ed Catmur - partha

2006-01-12  Parthasarathi Susarla <sparthasarathi@novell.com>
	
	* camel-imap-command.c: 
	(imap_command_start):
	(imap_command_continuation):
	User g_return_val_if_fail instead of g_assert. Do not crash. 
	Return gracefully.

2006-01-10  Shreyas Srinivasan  <sshreyas@novell.com>

	* camel-imap-store.c (camel_store_finalize): Fix #321812
	unref diary only when the store finalize is called.
	
2005-12-14  Tor Lillqvist  <tml@novell.com>

	Fix #323106:
	
	* camel-imap-store.c (camel_imap_store_summary_full_to_path,
	camel_imap_store_summary_path_to_full): Remove extraneous
	conversions from IMAP-UTF-7 to UTF-8 and back.

	* camel-imap-command.c (imap_command_strdup_vprintf): Do the
	conversion from UTF-8 to IMAP-UTF-7 only just before sending a
	request. Do it also for %S formats, as that is what the CREATE
	command uses. But %S is used also for other commands (like LOGIN
	and LIST), so maybe we really would need a new format that would
	be used *only* for mailbox (folder) names, assuming it's only
	mailbox names that use the IMAP-UTF-7 encoding. Or is that what %F
	is intended for? But why then does CREATE use %S?

2005-12-08  Tor Lillqvist  <tml@novell.com>

	* camel-imap-folder.c: Drop unused <dirent.h>.

	* camel-imap-message-cache.c: Use gstdio wrappers. Open files in
	binary mode.
	(camel_imap_message_cache_new): Use GDir instead of dirent API.
	(insert_setup, camel_imap_message_cache_get): Trailing periods in
	file names are silently dropped on Win32, so on Win32, so if we
	would want to create a file with a name ending with a perioud,
	append a tilde (just a random choice).

	* camel-imap-provider.c: No external command possibility on Win32,
	drop that part of the UI.

	* camel-imap-store.c: Use gstdio wrappers.

	* camel-imap-utils.c (find_folders_recursive): Use GDir instead of
	dirent API.
	
2005-12-05  Parthasarathi Susarla <sparthasarathi@novell.com>
	
	* camel-imap-store.c: (construct):
	Setup disco journal during store construct. Previously,
	it was dont in connect_offline and connect_online methods.
	This makes sure that the diary is initialised even when evo
	starts in offline mode.

2005-12-01 Jeff Cai <jeff.cai@sun.com>

	* camel-imap-command.c:(imap_command_strdup_vprintf):
	Evolution should not send command with zero additional parameters.
	Fix #322408

2005-10-21 Shreyas Srinivasan <sshreyas@novell.com>

	* camel-imap-utils.c:(imap_parse_list_response): Handle
	Courier imap's LSUB response for INBOX when its not subscribed.
	Fix #228929.
	
2005-10-21 Vivek Jain <jvivek@novell.com>
	
	Committed NotZed's patch on #314833
	
	** See #314833.
	* camel-imap-store.c (subscribe_folder, unsubscribe_folder):
	add missing locking.
	(imap_noop): re-arrange locking slightly.

2005-10-10  Parthasarathi Susarla <sparthasarathi@novell.com>
	
	* camel-imap-folder.c:(imap_update_summary): specify the
	folder name of the folde being refreshed in the status mesage

2005-10-10  Björn Torkelsson <torkel@acc.umu.se>

	** See bug #317956.
	
	* camel-imap-store.c:(try_auth): Null check sasl_resp
        and bail out, otherwise evolution will crash when running strlen on
        sasl_resp. 
	
	** Committed on behalf of Björn Torkelsson since he does not 
	have commit rights - partha <sparthasarathi@novell.com>
	
2005-09-27  Vivek Jain <jvivek@novell.com>

	** See bug #315173.
	
	* camel-imap-folder.c:(do_append): Null check the 
	info before using it
	initialize flags as we '&' with old value.

2005-09-15  Tor Lillqvist  <tml@novell.com>

	* camel-imap-command.c
	* camel-imap-folder.c: Use g_ascii_str(n)casecmp() instead of
	str(n)casecmp(). The strings we are comparing in these cases
	should be just ASCII anyway, so spell it out that we really do
	need ASCII casefolding only.

	* camel-imap-folder.c
	* camel-imap-search.c
	* camel-imap-store.c: No strtok_r() in Microsoft's C library, but
	strtok() is MT-safe, which is enough for the way it's used in this
	file, to tokenize only one string at a time.

	* camel-imap-store.c (connect_to_server_process,
	connect_to_server_wrapper): Using custom commands to connect to
	IMAP servers is not supported on Win32 (at least for now), so
	bypass that code.

	* camel-imap-wrapper.c: If no ENETUNREACH (Win32), use EINVAL.

2005-08-23  Shreyas Srinivasan  <sshreyas@novell.com>

	** See #314199

	* camel-imap-store-summary.c (camel_imap_store_summary_add_from_full): Check if 
	Inbox only if the Store info is not Null.
	
2005-08-19  Not Zed  <NotZed@Ximian.com>

	** See #312668.

	* camel-imap-store.c (imap_disconnect_offline): check/close
	streams always, even if disconnecting in offline mode.

	* camel-imap-folder.c (camel_imap_folder_fetch_data): clear
	exception before trying more ops.

2005-08-18  Not Zed  <NotZed@Ximian.com>

	** See bug #313593.

	* camel-imap-store.c (get_folder_info_offline): get the search
	name and the top value from the namespace definition.

2005-08-17  Not Zed  <NotZed@Ximian.com>

	** See bug #313574.

	* camel-imap-folder.c (imap_get_message): added required lock
	around imap connect/command & clear exception for fail-over.

2005-08-16  Not Zed  <NotZed@Ximian.com>

	** See bug #242032.

	* camel-imap-folder.c (do_append): if append fails with no/bad,
	then retry without custom flags, if we were trying to send them.

	* camel-imap-command.c (imap_read_response): return
	SERVICE_INVALID rather than SERVICE_UNAVAILABLE for a BAD/NO
	response.

2005-08-15  Not Zed  <NotZed@Ximian.com>

	** See bug #242032.

	* camel-imap-command.c (imap_read_response): tread BAD the same as
	NO.

	* camel-imap-folder.c (do_append): snarf incoming label if it has
	one.  also only try to set flags the server says we can.

	* camel-imap-utils.c (imap_label_to_flags): helper to map label
	tag to imap flags.

	* camel-imap-folder.c (flags_to_label, imap_rescan)
	(imap_update_summary): if we get a server $Label flag, map it to
	the label tag as well.

	* camel-imap-summary.c (label_to_flags, message_info_load)
	(info_set_user_tag, camel_imap_summary_add_offline)
	(camel_imap_summary_add_offline_uncached): map the "label"
	user-tag into an imap server flag.

	* camel-imap-utils.c (imap_create_flag_list)
	(imap_parse_flag_list): store the junk flag as a custom flag Junk,
	and support our own $Labelx flags.  if the server supports custom
	flags.

2005-08-12  Tor Lillqvist  <tml@novell.com>

	* Makefile.am: Use NO_UNDEFINED. Link with libcamel-provider,
	libcamel and CAMEL_LIBS.

2005-08-09  Not Zed  <NotZed@Ximian.com>

	** See bug #312715 & other little fixes

	* camel-imap-store.c (get_folder_offline): use the store summary
	as the indicator to whether the folder exists or not, not the
	files on disk.

	* camel-imap-utils.c (imap_path_to_physical): greatly simplify
	this awful mess.

	* camel-imap-store.c (get_folder_info_online): re-arrange locking
	so we only run if we need to.
	(imap_connect_online, imap_connect_offline): dont refresh-folders
	on startup, that is handled if we need to/can in get_folder_info.
	(get_folder_online): fix order of create folder checks.
	(delete_folder): fix locking/online check.
	(rename_folder): same here.
	(imap_forget_folder): remove the subfolders subdir too.

2005-04-17  Changwoo Ryu  <cwryu@debian.org>

	** See bug #300891
	
	* Makefile.am (INCLUDES): define
	CAMEL_EXPLICIT_TRANSLATION_DOMAIN.

	* camel-imap-provider.c (camel_provider_module_init):
	set translation_domain in CamelProvider struct.

2005-08-09  Not Zed  <NotZed@Ximian.com>

	** See bug #309906.

	* camel-imap-utils.c (imap_atom_specials[]): Fixed the
	resp_specials entry, fixed the rfc reference.

2005-08-02  Not Zed  <NotZed@Ximian.com>

	** See bug #309237.

	* camel-imap-store.c (connect_to_server): add the BRAINDAMAGED
	hack from 2.0.3, since some people seem to be relying on it.

2005-08-01  Not Zed  <NotZed@Ximian.com>

	* camel-imap-store.c (get_folder_info_offline): if we're getting
	from "", then use the right namespace, with stripped trailing dir
	separator.
	(get_folders_online): we always do both a list and a lsub for each
	call.  We dont actually return any folders anymore either.
	(refresh_refresh): we just refresh all folders, subscribed or not.
	(get_folder_info_online): if we're getting the folder list, update
	the folder-summary from the server results, and then just get the
	folderinfo from that using get_folder_info_offline.
	(get_folders_sync): renamed from get_folders_online.
	(imap_connect_online): get the root list of folders differently,
	it will explictly check the namespace first.  and just make sure
	inbox is subscribed.
	(imap_is_subfolder, get_subscribed_folders) 
	(get_folders_add_folders, get_folders): removed old stuff.

2005-07-28  Not Zed  <NotZed@Ximian.com>

	** See bug #311731.

	* camel-imap-store.c (get_folder_info_offline): build the
	folderinfo from the search base so we dont over-expand it.

2005-07-27  Not Zed  <NotZed@Ximian.com>

	* camel-imap-store.c (get_folder_info_online): make sure we get
	subscribed folders using lsub too, if we're getting a list of all
	folders.  See bug #311658.

	* camel-imap-folder.c (imap_sync_online): make sure we're
	connected before issuing a command.

2005-07-26  Not Zed  <NotZed@Ximian.com>

	* camel-imap-store.c (connect_to_server_wrapper): only use command
	if use_command is set.

	* camel-imap-store-summary.c
	(camel_imap_store_summary_add_from_full): set the inbox folder
	type properly.

2005-07-25  Parthasarathi Susarla <sparthasarathi@novell.com>
	
	* camel-imap-store.c (connect_to_server): initialization of a
	variable. fixes Bug 301871.

2005-07-25  Not Zed  <NotZed@Ximian.com>

	* camel-imap-store.c (imap_noop): make sure we're connected before
	trying to noop.
	(get_folder_online): remove duplicate lock.

2005-07-21  Shreyas Srinivasan  <sshreyas@novell.com>

	* camel-imap-wrapper.h: Fix camel-docs breakage by changing
	style
	
2005-07-20  Not Zed  <NotZed@Ximian.com>

	* camel-imap-store.h: re-arrange some bitfields (this is not
	public api), and add a refresh stamp so we know when to next
	refresh the list of folders from the server.

	* camel-imap-store.c (imap_build_folder_info): set unknown counts
	-1, not 0.
	(get_folder_online): if the folder is on disk, just get it
	offline, only go to the server if we need to.
	(fill_fi): dont refresh the folder here, let the client code do
	it.

	* camel-imap-command.c (imap_command_start): add some asserts,
	time to fix those 'stream == NULL' warnings properly.
	(camel_imap_command_continuation): same.

	* camel-imap-store.c (get_folder_counts): remove this, we rely on
	the client calling folder.refresh_info instead.
	(get_one_folder_offline): removed, handled more directly from the
	storesummary now.
	(refresh_refresh): new async function to update the list of
	folders (not the folder counts) from the server.  We now just use
	"*" to get all the folders rather than frobbing around with
	partial fetches.
	(get_folder_info_online): changed radically, if we are getting
	subscribed folders, always go to the local list, but update it
	asynchronously if we need to.  if we're not, then always go to the
	server, but use a simplified listing mechanism.
	(camel_imap_store_connected): changed to hide some hidden logic,
	we want not only connected, but online as well; so make it
	actually do that.
	(fill_fi): dont do anything slow here, dont honour the 'not fast'
	flag anymore.

2005-07-19  Not Zed  <NotZed@Ximian.com>

	* camel-imap-folder.c (imap_get_message): dont force a connect
	until we need it.
	(camel_imap_folder_fetch_data): force a connect if we need it.
	(imap_refresh_info): force connect if we need to.
	(imap_get_message): touch the summary if we changed the body
	content info record.

	* camel-imap-store.c (camel_imap_store_init): we always support
	subscriptions, this is a backend property not a store instance
	property.
	(imap_connect_online, rename_folder, get_one_folder_offline) 
	(get_folder_info_offline): fix for above.
	(get_folder_offline): wtf is it connecting for???

2005-07-13  Not Zed  <NotZed@Ximian.com>

	* camel-imap-folder.c (imap_refresh_info): copy over counts to the
	store summary & save all summaries.

2005-07-12  Not Zed  <NotZed@Ximian.com>

	* camel-imap-store.c (imap_connect_online): only get the folder
	list if we dont have any yet.

2005-07-11  Not Zed  <NotZed@Ximian.com>

	* camel-imap-store.c (get_folder_info_online): if we are fast,
	then dont go to the server at all, if we have any folders
	recorded.
	(get_folder_counts): never request STATUS on unselected folders.
	(get_folder_info_offline): build the list directly from the
	summary, dont scan the filesystem.
	(parse_list_response_as_folder_info): always initialise counts to
	unknown (-1).

2005-03-18  Jeffrey Stedfast  <fejj@novell.com>

	* camel-imap-command.c (imap_read_untagged): Continue reading data
	until we've read all the data (camel_stream_read() makes no
	guarantee that it will read n bytes in a single call).

2005-03-10  Jeffrey Stedfast  <fejj@novell.com>

	* camel-imap-folder.c (imap_sync_online): READ-ONLY doesn't mean
	we can't sync flags, allow flag syncing even in READ-ONLY mode
	since the RFC states that flags listed in PERMANENTFLAGS are
	always settable.

2005-03-07  JP Rosevear  <jpr@novell.com>

	From Dave Malcolm <dmalcolm@redhat.com>
	
	* camel-imap-store-summary.c
	(camel_imap_store_summary_namespace_set): move forward declaration
	out of block to fix gcc4 compilation
	
2005-03-01  Not Zed  <NotZed@Ximian.com>

	** See bug #73112

	* camel-imap-store.c (query_auth_types): don't re-connect if we're
	already connected.

2005-02-22  Not Zed  <NotZed@Ximian.com>

	** See bug #61468

	* camel-imap-folder.c (imap_update_summary): get rid of the stupid
	HEADER.FIELDS NOT() blah, it just caused more problems than it
	ever solved.

2005-02-15  Björn Torkelsson  <torkel@acc.umu.se>

	* camel-imap-store.c (imap_build_folder_info): Rename inbox/INBOX to 
	Inbox, so it is translatable.
	(parse_list_response_as_folder_info): here too.

2005-02-08  Jeffrey Stedfast  <fejj@novell.com>

	* camel-imap-folder.c (do_copy): Don't always delete the original
	messages.

2005-02-04  Not Zed  <NotZed@Ximian.com>

	* camel-imap-store.c: Revert jeff's patch.
	(parse_list_response_as_folder_info): copy the subscribed flag
	from the storeinfo.
	(get_folders_online): here too.

2005-02-03  Not Zed  <NotZed@Ximian.com>
	
	** See bug #70590.

	* camel-imap-command.c (camel_imap_response_free): handle XGWMOVE
	response the same as EXPUNGE.

	* camel-imap-folder.c (do_copy): added 'delete' flag, and use
	xgwmove if its available and we're moving a message.

	* camel-imap-store.c (imap_get_capability): add some groupwise
	extension flags.

2005-02-02  Jeffrey Stedfast  <fejj@novell.com>

	* camel-imap-store.c (get_folders_online): Set the
	CAMEL_FOLDER_SUBSCRIBED flag appropriately.
	(get_subscribed_folders): Set here too.
	(get_subscription_info): Set the subscribed bit.
	(get_folder_info_online): If subscribed info is requested, fill
	it.

2005-02-01  Jeffrey Stedfast  <fejj@novell.com>

	* camel-imap-summary.c (summary_header_load): Bumped version to 3
	and added code to handle evrsion 2 (for compat with imap4 ver 2
	summary files).

2005-02-01  Not Zed  <NotZed@Ximian.com>

	* camel-imap-store.c (parse_list_response_as_folder_info): set the
	folder-type of inbox to inbox & use the right flags field for
	noinferiors hack.

2005-01-31  Not Zed  <NotZed@Ximian.com>

	** See bug #69757.
	
	* providers/imap/camel-imap-store.c (create_folder)
	(parse_list_response_as_folder_info): free the
	folder from parse_list_response.

2005-01-28  Not Zed  <NotZed@Ximian.com>

	** See bug #22496.

	* camel-imap-command.c (camel_imap_command_response): check for no
	and bad [alert] as well as ok [alert].
	

	** This provider is dead.

Refer to main changelog for earlier changes.

