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.

