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

	** Fixes part of bug #531591

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

2008-05-14  Jeffrey Stedfast  <fejj@novell.com>

	* camel-imap4-folder.c (imap4_getv): Implement support for getting
	the cache's expire settings.
	(imap4_setv): Added support for setting the cache's expire
	settings.
	(camel_imap4_folder_new): Default enable_mlist to FALSE now that
	we always fetch at least List-Id.

	* camel-imap4-summary.c: Include "List-Id" in the base
	headers. This means that enable_mlist now only means that the
	extended list of Mailing-List headers should be fetched. We assume
	that List-Id should be enough for most users.

2008-05-12  Jeffrey Stedfast  <fejj@novell.com>

	* camel-imap4-summary.c (camel_imap4_summary_flush_updates):
	Properly handle empty folders.

	* camel-imap4-store.c (connect_to_server): Disconnect the engine
	if SSL negotiations fail (there's no other way for the engine to
	know that failed).

	* camel-imap4-engine.c (camel_imap4_engine_disconnect): New
	convenience function.

2008-05-11  Jeffrey Stedfast  <fejj@novell.com>

	* camel-imap4-utils.c (camel_imap4_build_folder_info_tree): New
	utility function.

	* camel-imap4-store-summary.c (camel_imap4_store_summary_get_folder_info):
	Use a custom imap4 routine to create a folderinfo tree.

	* camel-imap4-summary.c (imap4_fetch_all_add): Need to ref the
	CamelMessageInfo after adding to the summary because
	camel_folder_summary_add() does not ref.

	* camel-imap4-store.c: Define some symbols that might not exist in
	the version of camel we are linking against.
	(imap4_build_folder_info_tree): New function to build a tree
	structure of CamelFolderInfo's from an array.

2008-05-10  Jeffrey Stedfast  <fejj@novell.com>

	* camel-imap4-store.c (imap4_folder_subscribed): Implemented.

	* camel-imap4-command.c (imap4_command_append_string): Fixed a
	FIXME by properly escaping QSTRING specials.

	* camel-imap4-summary.c: Reverted Mattew Barnes' MD5 Checksum
	change - I want to be able to build this provider w/o glib-2.16.

2008-05-07  Jeffrey Stedfast  <fejj@novell.com>

	* camel-imap4-engine.c (camel_imap4_engine_iterate): Implemented
	multiple reconnect retries logic.
	(camel_imap4_engine_iterate): If a command fails due to a dropped
	connection, reset the command and attempt to reconnect and
	continue where we left off.

2008-05-06  Jeffrey Stedfast  <fejj@novell.com>

	* camel-imap4-stream.c (camel_imap4_stream_next_token): Keep track
	of start of literal token.

	* camel-imap4-store.c (imap4_try_authenticate): Fixed a mis-use of
	full_prompt.

	* camel-imap4-command.c (camel_imap4_command_reset): Reset the
	user_data using the user-specified reset function.

	* camel-imap4-summary.c: Ported incremental summary flushing over
	from libspruce.

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

	** Fixes part of bug #518710

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

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

	** Fixes part of bug #510303

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

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

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

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

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

2007-06-04  Jeffrey Stedfast  <fejj@gnome.org>

	* camel-imap4-summary.c (imap4_fetch_all_update): Don't iterate
	over just fetch->total messages. We need to iterate over the
	entire summary in order to remove *all* messages which no longer
	exist.

2007-05-31  Jeffrey Stedfast  <fejj@novell.com>

	* camel-imap4-store.c (imap4_build_folder_info): Add "ghost"
	folder info's if needed in order to make sure the folder-info tree
	is complete.

	* camel-imap4-utils.c (camel_imap4_parse_flags_list): Handle
	Junk/NonJunk flags.

2007-04-09  Jeffrey Stedfast  <fejj@novell.com>

	* camel-imap4-summary.c (imap4_summary_fetch_all): Need to use
	ther IMAP4_ALL macro here because ALL cannot be merged with other
	items in a FETCH query.

2007-04-08  Jeffrey Stedfast  <fejj@gnome.org>

	* camel-imap4-summary.c: Synced up with my libspruce
	implementation a bit.

	* camel-imap4-stream.c (camel_imap4_stream_line): Set *inend to
	'\0' before comparing *inptr to '\n' when deciding whether or not
	to refill the buffer so that if inptr == inend, it works properly.

	* camel-imap4-store.c (connect_to_server): Need to actually toggle
	into TLS after a successful STARTTLS command. Doh.

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

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

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

	** Fixes bug #356177

	* camel-imap4-folder.c:
	* camel-imap4-store.c:
	Migrate from EMutex to GStaticMutex or GStaticRecMutex.

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

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

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

	* camel-imap4-folder.c: 
	* camel-imap4-store.c: 
	changing "cancelled" to "canceled" in user-visible strings.
	Fixes bug #342163.

2006-06-09  Chris Heath  <chris@heathens.co.nz>

	* camel-imap4-journal.c (camel_imap4_journal_append): Fix memory leak.
	Fixes bug #335423.

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

	* camel-imap4-store.c (connect_to_server): Set some socket options
	like keepalive and nodelay.
	(connect_to_server_wrapper): Don't do fallback with SSL/TLS. Fixes
	bug #321797.

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

	* camel-imap4-folder.c (imap4_append_message): strcpy the
	folder->full_name into the freshly alloca'd parent_name buffer
	before using strrchr on it.

2006-03-31  Jeffrey Stedfast  <fejj@novell.com>

	Fix for bug #272058

	* camel-imap4-summary.c (untagged_fetch_all): Get the In-Reply-To
	header too.
	(decode_envelope): Only decode the ENVELOPE's In-Reply-To field if
	we don't already have a list of references decoded (e.g. from a
	header query). Decode the Message-Id value before getting the md5
	digest so that the format matches the References/In-Reply-To
	values.
	(decode_references): Modified to take 2 string args - References
	and In-Reply-To - so that we can merge the 2 references lists like
	the default CamelFolderSummary implementation.

2006-03-28  Jeffrey Stedfast  <fejj@novell.com>

	* camel-imap4-store.c (imap4_reconnect): Only try to authenticate
	if the engine is not already in the authenticated state.

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

	* camel-imap4-store.c: Bypass the external command stuff on Win32.

	* camel-imap4-summary.c: Use g_ascii_strncasecmp() instead of
	strncasecmp().

2005-09-28  Jeffrey Stedfast  <fejj@novell.com>

	* camel-imap4-store.c (imap4_create_folder): Finally fixed to
	handle recreating parent folders to allow subfolders.
	(imap4_try_authenticate): Only request a password if no
	authentication mechanism is to be used or if the mechanism
	requires a password. Fixes bug #317301.

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

	* camel-imap4-utils.c (camel_imap4_utils_set_unexpected_token_error): 

	* camel-imap4-stream.c (camel_imap4_stream_next_token): 

	* camel-imap4-command.c (imap4_command_append_string): fix type to
	printfs.
	(camel_imap4_command_newv, unexpected_token): 

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

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

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

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

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

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

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

2005-05-23  Jeffrey Stedfast  <fejj@novell.com>

	* camel-imap4-folder.c (imap4_append_message): The UIDPLUS
	extension doesn't give a "UID APPEND" command, instead it just
	provides the APPENDUID RESP-CODE, so no need to conditionalise the
	command-creation code here. Simply always send "APPEND ..."
	(imap4_transfer_messages_to): Sync the flags before performing a
	COPY. Fixes bug #274407.

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

	* camel-imap4-folder.c (imap4_sync): Don't try to EXPUNGE in
	READ-ONLY mode.
	(imap4_sync_changes): Don't check permanent_flags here.
	(imap4_sync): Check permanent_flags here instead and don't bother
	wasting cycles if permanent_flags is empty.
	(imap4_sync): Don't attempt to EXPUNGE if the folder is READ-ONLY.
	(imap4_append_message): Set an exception if the folder is
	read-only and don't bother trying to append.

	* camel-imap4-engine.c (camel_imap4_engine_select_folder): Set the
	READ-ONLY bit on the folder if the server says we've opened it in
	READ-ONLY mode.

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

	* camel-imap4-engine.c (camel_imap4_engine_handle_untagged_1):
	Handle XGWMOVE untagged events as EXPUNGE events.

	* camel-imap4-folder.c (imap4_transfer_messages_to): Optionally
	use XGWMOVE if the extension is available.

	* camel-imap4-engine.c (camel_imap4_engine_capability): Query for
	the XGWEXTENSIONS as well if the server supports it.

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

	* camel-imap4-store-summary.c (store_info_to_folder_info):
	Translate name of Inbox and also set flags as torkel's previous
	fix.

	* camel-imap4-store.c (imap4_build_folder_info): Translate the
	name of Inbox.

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

	* camel-imap4-store.c (imap4_build_folder_info): Add flags if it
	is inbox.

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

	* camel-imap4-search.c (imap4_body_contains): If we're in offline
	mode, let the parent implementation perform the search.

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

	* camel-imap4-store.c (imap4_build_folder_info): always get the
	subscription info.
	(camel_imap4_store_class_init): added a fixme about
	folder_subscribed not being implemented.

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

	* camel-imap4-store.c (imap4_build_folder_info): Set the
	CAMEL_FOLDER_SUBSCRIBED bit on the fi->flags if the info was
	gotten via an LSUB response.
	(imap4_build_folder_info): If our caller has requested
	subscription info, make sure to get it.
	(imap4_subscription_info): Get whether or not a folder is
	subscribed.

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

	* camel-imap4-summary.c (imap4_header_load): Changed to have the
	'have_mlist' bit be a summary flag rather than a new value stored
	in the summary header.
	(imap4_header_save): No longer need to save the have_mlist value
	ourselves.
	(camel_imap4_summary_flush_updates): Updated to use summary flags
	for have_mlist instead.

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

	* camel-imap4-provider.c: Added command option.
	Reset back to imap4:// uris.

	* camel-imap4-store.c (connect_to_server_process): Implemented.
	(connect_to_server_wrapper): Call above when appropriate.

	* camel-imap4-engine.c (camel_imap4_engine_parse_resp_code):
	handle CAMEL_IMAP4_RESP_CODE_ALERT explicitly in the switch
	statement and have it break out. This prevents the code from
	getting to the "unknown resp-code" code path that prints a warning
	unnecessarily.

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

	* camel-imap4-engine.c (camel_imap4_engine_iterate): On connect
	failures, disconnect our streams and set our engine state to
	DISCONNECTED.

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

	* camel-imap4-summary.c (untagged_fetch_all): Get rid of the
	warnings about the mlist string not being strdup'd by the string
	pool.

	* camel-imap4-store.c (imap4_get_folder_info): In the ic1 error
	case, xfer the ic1 exception, not the ic0 exception (which might
	not even exist). Fixes bug #71919.

Refer to main changelog for earlier changes.

