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

	** Fix for bug #502899

	* storage/exchange-account.c: (struct _ExchangeAccountPrivate), (init),
	(dispose), (finalize), (exchange_account_rescan_tree), (get_folder),
	(hierarchy_new_folder), (hierarchy_removed_folder), (context_redirect),
	(get_parent_and_name), (exchange_account_get_folder),
	(exchange_account_get_folders), (exchange_account_get_folder_tree):
	Guard private folder's hash tables with a lock to prevent access to
	them from different threads in same the time.

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

	** Fixes bug #500389

	* lib/e2k-global-catalog.c (connect_ldap):
	Fall back to simple binds if the global catalog server
	does not support NTLM binds.

2008-03-25  Veerapuram Varadhan  <vvaradhan@novell.com>

	** Added configurable Proxy settings for Evolution.

	* lib/e2k-context.c: (proxy_settings_changed), (init), (dispose),
	(e2k_context_set_auth):

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

	** Fixes bug #523023

	* storage/exchange-hierarchy-webdav.c (scan_subtree):
	Fix a severe EFolder reference count leak.

2008-02-25  Matthew Barnes  <mbarnes@redhat.com>

	* lib/e2k-kerberos.c (get_init_cred):
	Fix a couple discarded const warnings.

2008-02-12  Matthew Barnes  <mbarnes@redhat.com>

	* storage/exchange-account.c:
	Fix another G_GNUC_PRETTY_FUNCTION straggler.

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

	** Fixes part of bug #514682

	* lib/Makefile.am:
	* storage/Makefile.am:
	Fix a compilation error that occurs when building in a
	remote object directory (#514682, patch by Paul Smith).

2008-02-04  Dan Winship  <danw@gnome.org>

	* lib/e2k-context.c (session_authenticate): Only authenticate the
	auth once; if we're called again, let it fail, since the cached
	password must be incorrect. #513646.

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

	** Part of fix for bug #395939

	* lib/e2k-context.c: (dispose): Memory leak fix.

2008-01-27  Dan Winship  <danw@gnome.org>

	* lib/e2k-context.c (e2k_context_fba): Fix a double free. #511301.

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

	** Fix for bug #511235

	* lib/e2k-context.c: (session_authenticate):
	Changed prototype to reflect actual libsoup.
	Thanks to Dan Winship for pointing this out.

2008-01-17  Kjartan Maraas  <kmaraas@gnome.org>

	* lib/e2k-context.h: Correct the function signature of
	e2k_soup_message_new_full() so things build.

2008-01-15  Dan Winship  <danw@gnome.org>

	* lib/e2k-autoconfig.c: Update for libsoup 2.4

	* lib/e2k-context.c: Update for libsoup 2.4
	(e2k_context_fba): Use soup-forms methods.
	(setup_message): Rewrite the old SoupMessageFilter-based stuff to
	use SoupSession::request-started instead.
	(e2k_context_get, e2k_context_get_owa): Return a SoupBuffer
	directly rather than returning a char * and length.

	* lib/e2k-http-utils.c (e2k_http_get_headers): kludge to get
	around the auto-header-merging behavior of SoupMessageHeaders,
	which makes it hard to parse WWW-Authenticate and Set-Cookie.

	* storage/exchange-oof.c (find_str_case, exchange_oof_get):
	Update for e2k_context_get_owa() change. Rewrite to not modify the
	response body, to avoid needing an extra strdup.

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

	** Fix for bug #361972

	* lib/e2k-context.c: (e2k_context_fba): No point crashing if the
	action is not recognised by soup. So if the message is null return.

2007-12-31  Sushma Rai  <rsushma@novell.com>

	** Fixes bug #327965

	* storage/exchange-account.[ch] (exchange_account_get_windows_domain):
	Added new, to return the windows domain value.

	* storage/exchange-esource.c (add_folder_esource): Setting the e-source
	property username with the domain, if the domain is specified. 
	
2007-12-06  Tobias Mueller <tobiasmue@svn.gnome.org>
	Patch by Milan Crha  <mcrha@redhat.com>

	** Fix for bug #462593

	* lib/e2k-context.c: (e2k_soup_message_new): Print message on console
	if invalid uri has been passed to soup_message_new.
	* lib/e2k-autoconfig.c: (e2k_autoconfig_get_context):
	Prevent from crash on invalid uri.

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

	* lib/e2k-autoconfig.c (get_ctx_auth_handler):
	* lib/e2k-result.c (prop_get_binary_array), (prop_get_binary):
	Initialize 'length' before calling g_base64_decode().

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

	* lib/e2k-user-dialog.c:
	* lib/e2k-user-dialog.h:
	Remove these dead files from SCM.

2007-10-03  Srinivasa Ragavan  <sragavan@novell.com>

	** Fix for BNC bug #203480

	* storage/exchange-account.c: Compiler warning for usage of
	unintialized variable.

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

	* lib/e2k-context.c (write_prop):
	* lib/e2k-autoconfig.c (get_ctx_auth_handler):
	* lib/e2k-result.c (prop_get_binary_array), (prop_get_string_array):
	Use GLib's Base64 API instead of e2k_base64_encode() and
	e2k_base64_decode().  Straggler from bug #474000.

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

	* storage/exchange-account.c:
	* lib/e2k-context.c:
	* lib/e2k-autoconfig.c:
	* lib/e2k-result.c:
	Remove #include "e2k-encoding-utils.h"

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

	** Fixes part of bug #474000

	* lib/Makefile.am:
	* lib/e2k-encoding-utils.c:
	* lib/e2k-encoding-utils.h:
	Remove redundant Base64 codec implementation.

2007-09-03  Veerapuram Varadhan  <vvaradhan@novell.com>

	* storage/exchange-hierarchy-webdav.c: Check for validity of
	deleted_items_uri before using it.  Fixes a crash that happens
	when started in calendar mode.  Have seen some BGO traces showing
	it - but do not have the bug-id atm.  Will close them later.
	
2007-09-03  Veerapuram Varadhan  <vvaradhan@novell.com>

	** Fixes #290330 (bnc)
	* storage/exchange-hierarchy-webdav.c: Fetch FOLDER_CLASS and
	PERMANENT_URL properties for public folders as well.
	
2007-08-29  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #301263 (bnc)
	* storage/exchange-account.[ch]: Added a new function
	to scan foriegn folder hierarchy. 
	* storage/exchange-esource.c: (add_folder_esource):
	Set the foriegn folder property.

2007-08-24  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #381548 from John D. Ramsdell

	* lib/e2k-context.c: (e2k_context_fba):
	Make fail with zero-length action string like with NULL.

2007-08-10  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #327977

	* lib/e2k-validate.h: (e2k_validate_user):
	* lib/e2k-autoconfig.c: (e2k_validate_user):
	Added parameter for parent window to pass to password dialog.

2007-08-03  Jeff Cai<jeff.cai@sun.com>

	* storage/exchange-account.c:
	Not print debug information.
	Fix #439147

2007-07-09  Chenthill Palanisamy  <pchenthill@novell.com>

	* storage/exchange-account.c:
	* storage/exchange-account.h: (exchange_account_fetch): Fetch
	the EAaccount from the exchange account.								
	* storage/exchange-esource.c: (add_folder_esource): Added the subscriber's
	email id to corresponding esource.							    
	
	Committing on behalf of Suman Manjunath <msuman@novell.com> and 
	Bharath Acharya <abharath@novell.com>	

2007-07-03  Srinivasa Ragavan  <sragavan@novell.com>

	
	* lib/e2k-autoconfig.c: (e2k_validate_user): Have the full url to
	avoid asking the password again.
	* lib/e2k-validate.h:

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

	* storage/exchange-hierarchy-webdav.c (xfer_folder):
	Duplicate the string returned from e_folder_get_physical_uri()
	(#312854).

2007-06-04  Veerapuram Varadhan  <vvaradhan@novell.com>

	** Fixes #415922
	* lib/e2k-autoconfig.c (e2k_autoconfig_get_context): Add support
	for Microsoft ISA Server 2004 proxy URLs.
	* lib/e2k-context.c (e2k_context_fba): Decode the URI - just incase.
	
2007-05-15  Ross Burton  <ross@openedhand.com>

	* lib/e2k-user-dialog.c:
	Remove bonobo includes, they are not used.

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

	* lib/e2k-utils.c: Fix for build break.

2007-05-07  Matthew Barnes  <mbarnes@redhat.com>

	* lib/e2k-rule-xml.c:
	* lib/e2k-rule.h:
	* lib/e2k-security-descriptor.c:
	* lib/e2k-utils.c:
	* storage/e-folder-exchange.c:
	Fix warnings reported by 'sparse'.  Patch from Kjartan Maraas.

2007-04-05  Matthew Barnes  <mbarnes@redhat.com>

	* lib/e2k-marshal.list:
	Turns out, evolution-exchange still needs NONE:INT,INT.

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

	* storage/e-folder-exchange.c:
	Use g_mkdir_with_parents (#383686).

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

	* storage/exchange-hierarchy.c:
	* storage/e-shell-marshal.list:
	* storage/exchange-account.c:
	* storage/e-storage.c:
	* storage/exchange-hierarchy-somedav.c:
	* storage/e-folder.c:
	* storage/Makefile.am:
	* lib/e2k-marshal.list:
	Remove marshallers that are in GLib already (#400970).

2007-04-01  Matthew Barnes  <mbarnes@redhat.com>

	** Various code clean-ups from Kjartan Maraas.

	* storage/exchange-account.h (exchange_account_set_password):
	Function declaration should not be subject to conditional compilation.

	* storage/e-folder-type-registry.c
	(e_folder_type_registry_get_display_name_for_type),
	(e_folder_type_registry_get_description_for_type):
	Return NULL, not FALSE.

	* lib/e2k-rule-xml.c: Declare private arrays as static.

	* lib/e2k-context.c (e2k_context_new), (e2k_debug_print_request),
	(e2k_debug_print_response): Use NULL instead of zero (0).

	* lib/e2k-context.c (do_notification):
	g_io_channel_read_chars() returns GIOStatus, not GIOError.

	* lib/e2k-autoconfig.c (e2k_autoconfig_check_exchange):
	Fix a compiler warning.

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

	* storage/e-folder-exchange.c:
	Don't mix declarations and code (#405495).
	Patch from Jens Granseuer.

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

	** Fixes part of bug #360240

	* storage/exchange-hierarchy-webdav.c (scan_subtree):
	* storage/exchange-account.c (add_folder_tree):
	* lib/e2k-uri.c (e2k_uri_new):
	Remove unused variables.

2007-01-08  Chenthill Palanisamy  <pchenthill@novell.com>
	
	* storage/exchange-account.[ch]: (exchange_account_get_hierarchy_by_email):
	Added a new API to get the foreign user's folder hierarchy.
	(exchange_account_get_hierarchy): Changed the name to exchange_account_get_hierarchy_by_type.

2006-12-19  Jeff Cai <jeff.cai@sun.com>

	** Fix for 387397

	* storage/exchange-account.c: Change macro definitions to 
	satisfy both linux and Solaris.

2006-12-18  Veerapuram Varadhan  <vvaradhan@novell.com>

	* storage/e-folder-exchange.c: (init): Initialize rescan_tree to
	TRUE
	
2006-12-18  Veerapuram Varadhan  <vvaradhan@novell.com>

	** Missed changes

	* storage/exchange-types.h: Moved ExchangeHierarchyTypes enum
	here.
	
2006-12-18  Veerapuram Varadhan  <vvaradhan@novell.com>

	** Fix for 346728, 268412

	* storage/exchange-hierarchy.h: Move ExchangeHierarchyTypes to
	exchange-types.h
	
	* storage/exchange-hierarchy-webdav.c: (scan_subtree):  Do not
	rescan a tree/folder when its rescan_tree is set to FALSE.  Also,
	just fetch DISPLAY_NAME and HAS_SUBS properties for public
	folders.
	
	* storage/exchange-account.[ch]: (exchange_account_get_hierarchy):
	Added to return hierarchy for a given type.
	(exchange_account_get_folder_tree): Returns a tree of folders
	for the requested URI/PATH.

	* storage/e-folder-exchange.[ch]:
	(e_folder_exchange_get_rescan_tree): Returns rescan_tree flag.
	(e_folder_exchange_set_rescan_tree): Sets rescan_tree flag.
	
2006-12-13  Veerapuram Varadhan  <vvaradhan@novell.com>

	** Fix for bnc #208395

	* storage/exchange-hierarchy-webdav.c: (e_folder_webdav_new): 
	* storage/e-folder-exchange.c: (e_folder_exchange_new):
	Folder name can contain any characters including URI special
	characters, encode it and use it as physical uri.
	
2006-11-15  Chenthill Palanisamy  <pchenthill@novell.com>

	* storage/exchange-account.c: 
	(exchange_account_connect): Check if the mode is unsupported
	and reset the connecting variable.
	Fixes #219729 (bugzilla.novell.com)

2006-11-07  Chenthill Palanisamy  <pchenthill@novell.com>

	* storage/exchange-constants.h: Define a flag to
	indicate the foriegn folder.
	* storage/exchange-esource.c: (add_folder_esource):
	Disable alarms for foriegn folders.
	* storage/exchange-hierarchy-foreign.c:
	(exchange_hierarchy_foreign_add_folder):
	Pass the masked value for the folder type.
	Fixes #208318 (bugzilla.novell.com)

2006-11-07  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes the removal of properties.
	* lib/e2k-context.c: (write_prop): Do not check for the 
	existance of the value while removing the properties.
	Fixes #207960 (buzilla.novell.com)

2006-10-12  Srinivasa Ragavan  <sragavan@novell.com>

	** Fix for #bug 347811

	* storage/exchange-account.c: Reverting Varadhan's last commit to
	lookup hierarchies based on offline settings, and makeing that as
	FALSE. Reopening bug #268412

2006-09-30  Veerapuram Varadhan <vvaradhan@novell.com>

	** Fixes #347811
	* storage/exchange-account.c (setup_account_hierarchies): While
	creating hierarchies for the folders, set offline_supported with
	the account level settings.
	
2006-07-24  Veerapuram Varadhan <vvaradhan@novell.com>

	* lib/e2k-context.c (e2k_context_set_auth): Create SoupSessionSync
	with a default timeout of 30 secs.
	
2006-07-24  Sushma Rai  <rsushma@novell.com>

	* storage/exchange-account.h: Added two more error codes 
	ExchangeAccountFolderResult.

	* storage/exchange-account.c (exchange_account_discover_shared_folder):
	Return proper error codes when GC server is NULL or invalid username
	is selected. Fixes #234359.

2006-07-24  Sushma Rai  <rsushma@novell.com>

	* storage/Makefile.am: Added exchange-esource.h to 
	libexchange_storageinclude_HEADERS. See #313081.

2006-07-22  Sushma Rai  <rsushma@novell.com>

	* storage/exchange-account.[ch]: Added a new API to read the e-mail id
	from the given ExchangeAccount. Fixes #311322.
	Patch submitted by "Vandana Shenoy .B <shvandana@novell.com>"

2006-05-11  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #334626
	* storage/exchange-esource.c: 
	(add_folder_esource): set the list of calendar selections
	in gconf for the newly created source.

2006-05-10  Sushma Rai  <rsushma@novell.com>

	* storage/exchange-account.c (setup_account_hierarchies): Setting
	parameter "deep_searchable" to TRUE for favorite folders, so that we
	scan for the sub folders if a public folder has sub folders.

	* storage/exchange-hierarchy-favorites.c
	(exchange_hierarchy_favorites_new): Similar.
	Fixes #268412.

2006-05-10  Sushma Rai  <rsushma@novell.com>

	*  exchange/lib/e2k-autoconfig.c (e2k_validate_user): Set result to
	E2K_AUTOCONFIG_CANCELLED on cancel. Fixes #332131.

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

	Patch suggested by Carlos Lozano <clozano at andago dot com>

	* storage/exchange-account.c (is_password_expired),
	(exchange_account_set_password): Ensure checks for expiry or
	weakness take effect while trying for nt domain. The conditionals
	should be AND'ed not OR'ed. 

2006-04-18  Sushma Rai  <rsushma@novell.com>

	* lib/e2k-uri.c (e2k_uri_new): Reverting the changes made for extracting
	the user name and domain names from user name provided, which is in the
	form of email id. Now we are doung it during account creation itself.
	
	* lib/e2k-validate.h: Changed the signature of e2k_validate_user().

	* lib/e2k-autoconfig.c (e2k_validate_user): Authenticating with the 
	username provided, and if it fails and username is of the form 
	user@domain, extracting the username from it and trying once more.
	Fixes #329371.

2006-04-06  Sushma Rai  <rsushma@novell.com>

	* storage/exchange-hierarchy-webdav.c (xfer_folder): Removing the 
	separator from the folder name.

2006-03-06  Irene Huang <Irene.Huang@sun.com>

	Fixes bug #331633

	* lib/e2k-global-catalog.c: (find_domain_dn): Check and see if 
	dn_value->str[0] is nil before duplicating.

2006-03-06  Sushma Rai  <rsushma@novell.com>

	* storage/e-folder-exchange.c (e_folder_exchange_new_from_file): 
	Freeing xml doc and xml property. See #329251.

2006-03-06  Sushma Rai  <rsushma@novell.com>

	* storage/exchange-oof.c (exchange_oof_get): Initialize variables.
	
	* lib/e2k-context.c (e2k_context_fba): Similar. See #329251. 

2006-03-06  Sushma Rai  <rsushma@novell.com>

	* lib/e2k-autoconfig.c (e2k_autoconfig_get_context): Freeing old value
	of home_uri beofre storing the new value. 
	(e2k_autoconfig_check_exchange): Freeing xml property. See #329251.

	* storage/exchange-account.c (exchange_account_connect): Not 
	duplicating password string. See #329251.

2006-03-06  Sushma Rai  <rsushma@novell.com>

	* storage/exchange-esource.c (is_offline): Freeing GconfValue,
	See #329251.
 
2006-03-06  Sushma Rai  <rsushma@novell.com>

	* storage/exchange-account.c (exchange_account_connect): Skip the quota
	limit warning display if the GC server is missing. If the quota limits 
	are set on the account, and GC server field is missing, 
	sending/receiving mails would fail, based on quota settings. 
	Fixes #333163.

2006-02-25  Sushma Rai  <rsushma@novell.com>

	* storage/exchange-hierarchy-webdav.c (scan_subtree): Do not unref the
	folder which is being used later in subtrees.

2006-02-13  Chenthill Palanisamy  <pchenthill@novell.com>

	* storage/exchange-hierarchy-webdav.c: (init),
	(hierarchy_new_folder): Ref the folder before inserting so that it 
	doesn't die on before removing. Fixes #326413.

2006-02-10  Sushma Rai  <rsushma@novell.com>

	* storage/exchange-esource.c (add_folder_esource): Calling 
	e_source_sync() only when we set the property.

2006-02-06  Sushma Rai  <rsushma@novell.com>

	* storage/exchange-account.c (exchange_account_connect): Freeing 
	E2kResult.

	* storage/e-folder-exchange.c (e_folder_exchange_save_to_file): 
	Returning on NULL uris or folder name, before finding the folder size. 
	Also freeing folder size string.

	* storage/exchange-hierarchy-favorites.c (get_hrefs): Initializing 
	nresults to zero.

	* storage/exchange-oof.c (exchange_oof_get):  Similar.	
	
	* lib/e2k-freebusy.c (e2k_freebusy_new): Similar.

	* storage/exchange-hierarchy-foreign.c (check_hide_private)
	(find_folder): Initializing nresults to zero and Freeing E2kResult.

	* storage/exchange-hierarchy-somedav.c 
	(exchange_hierarchy_somedav_add_folder): Similar.

	* storage/exchange-hierarchy-webdav.c (scan_subtree): Unrefing folder.

	* storage/exchange-esource.c (add_folder_esource): Freeing authtype.
	Fixes #329251.

2006-01-31  Sushma Rai  <rsushma@novell.com>

	* storage/exchange-account.c (hierarchy_new_folder): Removed the debug
	messages. Fixes #327428

2006-01-27  Sushma Rai  <rsushma@novell.com>

	* lib/e2k-uri.c (e2k_uri_new): Checking if the user name entered is 
	e-mail id and extracting the user name and domain from it. 
	Fixes #323637.

2006-01-18  Sushma Rai  <rsushma@novell.com>

	* lib/e2k-autoconfig.c (e2k_validate_user): Whenever the authenticate
	button is pressed, always prompt for password. Fixes #327292. 

2006-01-14  Sushma Rai  <rsushma@novell.com>

	* storage/exchange-esource.c (add_folder_esource): Marking the GAL 
	folder for autocompletion, while creating it. Fixes #303998.

2006-01-14  Sushma Rai  <rsushma@novell.com>

	* storage/exchange-constants.h: using API_VERSION for Exchange
	Connector book and calendar factories. See #323115.

2006-01-12  Sushma Rai  <rsushma@novell.com>

	* lib/e2k-autoconfig.c (e2k_validate_user): Freeing password string.

	* storage/exchange-account.c (display_passwd_expiry_message)
	(change_passwd_cb): Removed these unused functions.
	(find_passwd_exp_period): Retruning max_pwd_age_days or error instead of
	invoking display_passwd_expiry_message().
	(exchange_account_connect): Freeing E2KAutoconfig structure.
	(exchange_account_check_password_expiry): Implemeted. Returns password validity
	period. Fixes #326060.

2006-01-10  Simon Zheng  <simon.zheng@sun.com>

	* lib/e2k-autoconfig.c:
	* storage/e-folder-exchange.c:
	* storage/e-folder.c:
	* storage/e-storage.c:
	As file e-util.h is renamed, replace "libedataserver/e-util.h"
        as "libedataserver/e-data-server-util.h".

2005-12-21  Sushma Rai  <rsushma@novell.com>

	* storage/exchange-esource.c (add_folder_esource): Calling
	e_source_list_sync() after updating the offline status of the existing 
	source.
	
	* storage/exchange-account.h: Exposing exchange_account_get_authtype(),
	which is now used from exchange-operations plugin.

2005-12-19  Sushma Rai  <rsushma@novell.com>

	* storage/exchange-account.[ch] (exchange_account_set_save_password):
	Sets the flag in EAccount to TRUE if user has selected save password.
	(exchange_account_is_save_password): Returns the save_passwd flag
	value. Setting this value was missed in evolution 2.4

2005-12-19  Sushma Rai  <rsushma@novell.com>

	* lib/e2k-autoconfig.c (validate): Free E2kAutoconfig structure.
	Fixes #324483.

2005-12-17  Sushma Rai  <rsushma@novell.com>

	* storage/exchange-account.c: Using the integer varable 
	"account_online" to store the mode, instead of boolean. This fixes the
	problem of comparing account_online value (TRUE/FALSE) with 
	OFFLINE_MODE/ONLINE_MODE (1/2).
	(exchange_account_rescan_tree)(exchange_account_open_folder)
	(exchange_account_set_offline)(exchange_account_is_offline)
	(setup_account_hierarchies)(exchange_account_connect): Similar. 

	* storage/exchange-hierarchy.[ch] (scan_subtree)
	(exchange_hierarchy_scan_subtree): Similar.
	
	* storage/exchange-hierarchy-webdav.c (xfer_folder)(rescan)
	(scan_subtree): Similar.

	* storage/exchange-hierarchy-foreign.c (scan_subtree): Similar.

	* storage/exchange-hierarchy-somedav.c (scan_subtree): Similar.
	This fixes the problem of not loading the folders after creating an
	account, even if the user is authenticated. Fixes #322657.

2005-12-17  Sushma Rai  <rsushma@novell.com>

	* lib/e2k-autoconfig.c (e2k_validate_user): Corrected the key by
	adding the trailing slash.

	* storage/exchange-account.c (exchange_account_new): Using the proper
	password key so that during account creation password will not be asked
	for the second time at the end.  Fixes #322657.

2005-12-15  Sushma Rai  <rsushma@novell.com>

	* lib/e2k-autoconfig.c (e2k_validate_user): Fixes the problem
	of validating and authenticating user only on pressing "Authenticate" 
	button twice, even if the user gives the proper password.

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

	* lib/Makefile.am: Drop unused CONNECTOR_LOCALEDIR.

	* lib/e2k-autoconfig.c
	* lib/e2k-context.c: Include appropriate headers on Win32. 

	* lib/e2k-autoconfig.c: Drop inclusion of
	libedataserver/e-account.h and libedataserver/e-account-list.h,
	that API is not used here.
	(find_global_catalog): Add Win32 implementation.
	(find_olson_timezone): Use g_win32_getlocale() on Win32 instead of
	the usually nonexistent LANG environment variable.
	(read_config): Form path to connector.conf at run-time for the
	benefit of Win32 freely chosen end-user install location. 

	* lib/e2k-autoconfig.c
	* lib/e2k-path.c
	* storage/e-folder-exchange.c
	* storage/exchange-hierarchy-foreign.c
	* storage/exchange-hierarchy-webdav.c: Use gstdio wrappers.
	
	* lib/e2k-context.c: Define strtok_r() using strtok() on Windows,
	where strtok() is MT-safe. Wrap socket API calls with simple
	macros for Unix/Winsock portability. Use
	g_io_channel_win32_new_socket() on Windows.

	* lib/e2k-global-catalog-ldap.h: Include winldap.h on Windows. Add
	some OpenLDAP macros that aren't present in winldap.h.

	* lib/e2k-global-catalog.c: Remove duplicate inclusion of ldap.h,
	it's already included by e2k-global-catalog-ldap.h
	(finalize): g_free() works fine on NULL pointers.
	(connect_ldap, get_ldap_connection): Rename ldap_connect() to
	connect_ldap() to avoid clash with the ldap_connect() function in
	the LDAP API.
	(connect_ldap): Use WINNT authentication on Windows.

	* lib/e2k-path.c (find_folders_recursive): 
	* storage/exchange-account.c (setup_account_hierarchies): Use
	g_dir* instead of dirent API for portability.

	* storage/Makefile.am: Use NO_UNDEFINED (meaning -no-undefined on
	Windows). Link with all needed libraries for the benefit of
	-no-undefined.

	* storage/e-folder-exchange.c (e_mkdir_hier) Remove duplicate
	implementation, already have it as e_util_mkdir_hier() in
	libedataserver/e-util.c.
	(sanitize_path): Must return something in all cases, this function
	is not void. Why did gcc let this through with just a warning?

	* storage/e-folder-exchange.c
	* storage/exchange-hierarchy-foreign.c: Use e_xml_parse_file()
	instead of xmlParseFile(), as that doesn't take UTF-8 filenames on
	Windows. Use e_xml_save_file() for the same reason.

	* storage/e-folder-exchange.c (e_xml_get_child_by_name): Remove,
	now in libedataserver/e-xml-utils.c.

	* storage/exchange-account.c (exchange_account_set_password):
	Do compile even if not HAVE_KRB5, but always return failure. Means
	less ifdefs elsewhere.
	(e_filename_make_safe): Remove this function which isn't used,
	especially as there is an exact duplicate in evolution's
	e-util/e-util.c. If it eventually is needed also somewhere in
	e-d-s, move it to libedataserver instead.

2005-12-12  Irene Huang <Irene.Huang@sun.com>

	* lib/e2k-autoconfig.c: (e2k_validate_user): If password
	exists, used the remembered password to do the
	authentification. If validation failed, forget password.

2005-12-10  Sushma Rai  <rsushma@novell.com>

	* storage/exchange-account.c (exchange_account_connect): set
	account->priv->connecting flag to FALSE on NULL password.
	Also removed unnecessary looping with try_password_again and also the
	commented out code.

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

	* storage/e-shell-marshal.list: Add NONE:INT.

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

	* storage/Makefile.am: Link with libedatasererui's bootstrap
	import library on Win32. Link also with libedataserver. Move
	libexchange.la and libxntlm.la from LDFLAGS to LIBADD. Install
	e-shell-marshal.h (for the benefit of evolution-exchange, which
	used to generate its own copy, but having several copies of the
	same file in different places is confusing).

2005-11-26  Sushma Rai  <rsushma@novell.com>

	* storage/exchange-account.c (exchange_account_remove_folder)
	(get_password)(exchange_account_connect): Fix for compile time warnings.
	(exchange_account_connect): Initialize the return value, info_result
	before cheking the validity of ExchangeAccount. Fixes a crash.

2005-11-25  Tor Lillqvist  <tml@novell.com>

	* lib/e2k-uri.c (e2k_uri_new)
	* storage/exchange-oof.c (find_str_case): Use
	g_ascii_strncasecmp() instead of strncasecmp() for portability.

2005-10-21  Sarfraaz Ahmed <asarfraaz@novell.com>

	* storage/exchange-account.c (exchange_account_remove_folder) : Proceed
	with deletion of folder only if the folder being removed is *not* a
	standard folder. This fixes #312848.

2005-10-20  Sarfraaz Ahmed <asarfraaz@novell.com>

	* lib : Add the test programs
	* lib/Makefile.am : Add the entries to compile these.

2005-09-30  Arunprakash  <arunp@novell.com>

	* storage/exchange-account.c (setup_account_hierarchies) : Skips the
	hierarchies creation if it is done.
	** Fixes #312229.

2005-08-26  Sarfraaz Ahmed <asarfraaz@novell.com>

	* lib/e2k-autoconfig.c (e2k_validate_user) : Fix the password key to
	be consistent with the camel key.
	* storage/e-folder-exchange.c (sanitize_path) : Strips the ';' in the
	path.
	* storage/exchange-account.c (get_hierarchy_for)
	(setup_account_hierarchies) : Fix the physical uri to delimit the
	folder path from the uri with a ';'
	(exchange_account_new) : Fix the uri authority to be same as the camel
	uri which would be later used in all components for creating the
	password key.

2005-09-05  Praveen Kumar  <kpraveen@novell.com>

	** Fixes bug 314588.
	
	* lib/e2k-context.c (e2k_context_new) : Modified the constructor 
	to return NULL if there is no host name in the SOUP URI.

2005-09-14  Irene Huang  <Irene.Huang@sun.com>

	Fix for bug #316274

	* storage/exchange-account.h: only declare exchange_account_set_
	password function when the macro HAVE_KRB5 is defined.

2005-08-25  Arunprakash  <arunp@novell.com>

	* storage/exchange-account.c (init) : set the default linestatus
	to offline.
	(exchange_account_rescan_tree) : Use the proper linestatus value.
	(exchange_account_set_offline) : Added lock before modifying
	the account linestatus to complete the connection in progress.
	(exchange_account_set_online) : Similar.
	(exchange_account_is_offline) : Return the proper linestatus.

2005-08-25  Arunprakash  <arunp@novell.com>

	* storage/exchange-account.c (hierarchy_new_folder) : Removes
	redundant computation.
	
2005-08-22  Not Zed  <NotZed@Ximian.com>

	* storage/exchange-esource.c (is_offline): provide a proper c
	prototype for this, () is pre-iso-c.

2005-08-22  Sarfraaz Ahmed <asarfraaz@novell.com>

	* storage/exchange-account.c (get_password) : Store the password
	(exchange_account_connect) : Handle NULL password, and also move
	the mutex to the end of connect.
	* storage/exchange-esource.c (add_folder_esource) : Add the auth
	properties to the esources.

2005-08-17  Sarfraaz Ahmed <asarfraaz@novell.com>

	* storage/exchange-account.c (exchange_account_get_folder): Lookup on
	NULL data is wrong. Handle it earlier.
	* storage/exchange-hierarchy-webdav.c (rescan) : Use 
	E2K_PR_EXCHANGE_FOLDER_SIZE for getting the folder size.
	(scan_subtree): Similar. Also, dont scan the deleted items subtree.

2005-08-12  Praveen Kumar  <kpraveen@novell.com>

	* storage/exchange-esource.c
	(is_offline): Added new
	(add_folder_esource): Modified to add the calendar and tasks to 
	the selected list only if the account is online. This is a part
	of the fix to the bug 237272.
	
2005-08-02  Sarfraaz Ahmed <asarfraaz@novell.com>

	* storage/exchange-hierarchy-favorites.c (remove_folder) : Remove
	the esources only after we have removed the folder from the server.
	* storage/exchange-account.c (exchange_account_rescan_tree) : Add the
	toplevel folder of the hierarchy in the fresh folder list manually
	* storage/exchange-hierarchy-somedav.c (scan_subtree) : Temporary fix.
	Allow a rescan for now.
	* storage/exchange-esource.c (remove_folder_esource) : Handle the 
	addressbook esource removal properly. We no longer use the absolute 
	uri for addressbooks, except for GAL.

2005-07-28  Sarfraaz Ahmed <asarfraaz@novell.com>

	* storage/exchange-account.c (is_password_expired) : This should be
	included only if kerberos is enabled in the configure options.

2005-07-22  Praveen Kumar <kpraveen@novell.com>

	* storage/exchange-esource.c (add_folder_esource) : Modified the way
	of Exchange addressbook ESource URI handling to be the same way as
	calendar ESource URI handling except for "gal://" protocol

2005-07-21  Sarfraaz Ahmed <asarfraaz@novell.com>

	* storage/Makefile.am : Add the separated esource handling code files.
	* storage/exchange-esource.[ch] : Added new
	* storage/e-folder-exchange.c : Reinclude the esource creation code.
	* storage/exchange-account.c : Add a new fresh_folder list. This has
	the latest list of folders available for the account, excluding the
	folders that were deleted in the current session.
	(exchange_account_rescan_tree) : Add a scan for fetching any new
	folders apart from scanning the existing folder properties.
	(exchange_account_get_folders): First check for the fresh_folder list
	if available and get the list from that.
	* storage/exchange-hierarchy-favorites.c : Reinclude the esource
	removal code.
	* storage/exchange-hierarchy-foreign.c : Similar
	* storage/exchange-hierarchy-gal.c : Similar
	* storage/exchange-hierarchy-webdav.c : Similar

2005-07-15  Arunprakash <arunp@novell.com>

	* storage/exchange-account.c (exchange_account_connect) :  Update the 
	error value before looping. This fixes #310483.

2005-07-14  Sarfraaz Ahmed <asarfraaz@novell.com>

	* storage/Makefile.am : Use the version-info
	* storage/exchange-account.c : Fix a warning

2005-07-14  Sarfraaz Ahmed <asarfraaz@novell.com>

	* storage/exchange-hierarchy-foreign.c (remove_folder) : The esource
	removal should be moved to the eplugins code.

2005-07-11  Sarfraaz Ahmed <asarfraaz@novell.com>

	Initial patch submitted by Arun Prakash <arunp@novell.com>.
	* storage/exchange-account.c : The private ExchangeAccount structure
	now also stores the quota_limit which can be used by the plugins to
	display.
	(get_password) : Now returns the error status
	(exchange_account_set_password) : Similar
	(exchange_account_connect) : This now accepts a password for connecting
	and also returns the appropriate error code so that the plugins can
	print appropriate messages.
	(exchange_account_get_quota_limit) : Newly added.
	(exchange_account_check_password_expiry) : Newly added
	* storage/exchange-account.h : Added a new ExchangeAccountResult enum
	for returning the connection status. Also modified the appropriate
	function declarations.

2005-07-11  Shakti Sen <shprasad@novell.com>

	* storage/Makefile.am: Included files exchange-hierarchy-foreign.c
	and exchange-hierarchy-foreign.h
	* storage/exchange-account.c: Added foreign hierarchy support.
	* storage/exchange-hierarchy-foreign.[ch]: Added newly for foreign 
	hierarchy support.

2005-07-08  Praveen Kumar <kpraveen@novell.com>

	* lib/Makefile.am : Added entry for ek-sid.h in the headers files to 
	be installed
	
2005-07-08  Sarfraaz Ahmed <asarfraaz@novell.com>

	* storage/Makefile.am : We should be using the CURRENT, REVISION and
	AGE variables for the version-info of the exchange library.

2005-07-07  Sarfraaz Ahmed <asarfraaz@novell.com>
	
	* storage/e-folder-exchange.c : Remove dead code
	* storage/exchange-account.c : Make ExchangeFolderSize a member of
	ExchangeAccount. Also removed some dead codE
	(exchange_account_folder_size_add) (exchange_account_folder_size_remove)
	(exchange_account_folder_size_rename)
	(exchange_account_folder_size_get_model) : Added new
	* storage/exchange-account.h : Similar
	* storage/exchange-folder-size.c : Replaced E2K_MAKE_TYPE with 
	G_DEFINE_TYPE and made necessary changes to init and class_init members
	(format_size_func)(parent_destroyed)(exchange_folder_size_display) :
	All moved to plugins.
	* storage/exchange-folder-size.h : Similar
	* storage/exchange-hierarchy-somedav.c : Fixed a warning
	* storage/exchange-hierarchy-webdav.c : Removed ExchangeFolderSize as 
	its member and updated the methods used to access it. We should now
	query the ExchangeAccount object for FolderSize information updation
	* storage/exchange-hierarchy-webdav.h : Removed dead code

2005-07-01  Sarfraaz Ahmed <asarfraaz@novell.com>

	* lib/e2k-autoconfig.c (validate) : This should only return the
	exception type and not print anything. The plugin will now print the
	proper error message.
	(e2k_validate_user) : Similar
	* lib/e2k-autoconfig.h : Move E2kAutoconfigResult to e2k-validate.h
	so that the plugins can use it.
	* lib/e2k-validate.h : Moved E2kAutoconfigResult here.
	* storage/e-folder-exchange.c (e_mkdir_hier) : Make use of 
	g_build_filename instead of the deprecated g_concat_dir_and_file
	* storage/e-folder-type-registry.c : Remove unwanted code.
	* storage/e-folder.c : Similar
	* storage/e-storage.c : Similar
	* storage/exchange-folder-size.c : Similar

2005-06-28  Sarfraaz Ahmed <asarfraaz@novell.com>

	* storage/exchange-account.c (exchange_account_is_favorite_folder) :
	Added new to check for favorites folder.
	* storage/exchange-account.h : Similar
	* storage/exchange-hierarchy-favorites.c 
	(exchange_hierarchy_favorites_is_added) : The main implementation.
	Newly added.
	* storage/exchange-hierarchy-favorites.h : Similar

2005-06-22  Sarfraaz Ahmed <asarfraaz@novell.com>
	
	* storage/Makefile.am : e-shell-marshall.list should be disted.
	* lib/Makefile.am : mapi-properties should also be disted.

2005-06-15  Sarfraaz Ahmed <asarfraaz@novell.com>

	* storage/Makefile.am : Install exchange-hierarchy-webdav.h and
	exchange-hierarchy-somedav.h

2005-06-14  Sarfraaz Ahmed <asarfraaz@novell.com>

	* storage/libexchange-storage.pc.in : Dont hardcode the libsoup
	version.

2005-06-12  Sarfraaz Ahmed <asarfraaz@novell.com>

	* lib/Makefile.am : Use ENABLE_KRB5 instead of HAVE_KRB5

2005-06-12  Sarfraaz Ahmed <asarfraaz@novell.com>

	* lib/Makefile.am : Include e2k-global-catalog-ldap.h. Install
	e2k-global-catalog-ldap.h and e2k-validate.h
	* lib/e2k-global-catalog.c : Use e2k-global-catalog-ldap.h
	* lib/e2k-global-catalog.h : Remove the use of ldap.h from here.
	* storage/Makefile.am : Use KRB5_LDFLAGS instead of KRB5_LIBS
	* lib/e2k-global-catalog-ldap.h : Added new
	* lib/e2k-validate.h : Added new

2005-06-12  Sarfraaz Ahmed <asarfraaz@novell.com>

	* lib/Makefile.am : Remove commented code and fix spacings
	* storage/Makefile.am : Similar. Also added exchange-oof.[ch]
	* lib/e2k-context.c : Use the proper VERSION definition name.

2005-06-10  Sarfraaz Ahmed <asarfraaz@novell.com>

	First movement of exchange server communication code into e-d-s HEAD.

2005-06-07  Sarfraaz Ahmed <asarfraaz@novell.com>

	* storage/Makefile.am : Removed references to config-listener and 
	foreign-hierarchy 
	* storage/e-folder-exchange.c : Removed references to e_source here.
	* storage/e-storage.c : Removed from e-d-s and moved back to exchange.
	* storage/exchange-account.c : Removed references to foreign hierarchy.
	* storage/exchange-account.h : Added constants.h
	* storage/exchange-constants.h : Avoided re-inclusion
	* storage/exchange-hierarchy-favorites.c : Removed esource references.
	* storage/exchange-hierarchy-gal.c : Removed esource references
	* storage/exchange-hierarchy-webdav.c : Removed references to foreign 
	hierarchy.
	* storage/exchange-types.h : Similar

2005-06-03  Sarfraaz Ahmed <asarfraaz@novell.com>

	* storage/e-shell-marshal.list : New file

2005-06-02  Sarfraaz Ahmed <asarfraaz@novell.com>

	* libexchange-storage.pc.in : Moved it from exchange to 
	exchange/storage
	* lib/Makefile.am : Added a few more header files that had to be 
	installed.
	* storage/Makefile.am : Similar
	* storage/e-folder-exchange.c : Merged the changes from HEAD.
	* storage/e-folder.c : Added marshalling code.
	* storage/e-storage.c : Similar
	* storage/exchange-account.c (exchange_account_get_username): Added new
	* storage/exchange-account.h : Similar
	* storage/exchange-component.[ch] : Removed from Makefile.am. Should be
	removing these files from the repository.
	* storage/exchange-config-listener.[ch] : Merged the changed from HEAD.
	* storage/exchange-hierarchy-favorites.c : Similar
	* storage/exchange-hierarchy-foreign.c : Similar
	* storage/exchange-hierarchy-gal.c : Similar
	* storage/exchange-hierarchy-webdav.c : Similar
	* storage/exchange-constants.h : Added a new file.

2005-05-21  Sarfraaz Ahmed <asarfraaz@novell.com>

	* lib/Makefile.am : Install e2k-global-catalog.h and e2k-utils.h
	Also added this new ChangeLog file
