2005-12-12  Harish Krishnaswamy  <kharish@novell.com>

	* NEWS, configure.in: Release updates, bump version
	libtool numbers.
	***** Release 1.5.3 *****

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

	* libedataserver/e-msgport.c: Add some socket API wrappers to hide
	Unix/Winsock differences.

	Use separate flag fields to indicate whether we have a thread or
	not in the EThread and EMutex structs. There is no portable way to
	check a pthread_t for uninitializedness. Remove the E_THREAD_NONE
	magic constant.

	The portable way to check two pthread_t values for equality is
	pthread_equal().

	Use e_util_pthread_id() to get an "id" for the thread in debugging
	output.
	
	(e_pipe): New function, Win32 only. Creates a connected TCP socket
	pair. Should have this in GLib, I guess. This code snippet is
	essentially duplicated in
	ORBit2/linc/src/linc-compat.c:link_pipe() and at least one other
	place I don't recall now.

	(e_msgport_prfd): Use PR_NewTCPSocketPair() instead of
	PR_CreatePipe() on Win32, as we want sockets, not a pipe (file
	descriptors).

	* libedataserver/e-util.c (e_util_mkdir_hier): When building
	against GLib 2.8, use g_mkdir_with_parents().
	(e_util_utf8_strcasecmp): New function. Casefolds two UTF-8
	strings, then does a linguistically correct comparison using
	g_utf8_collate().
	(e_filename_make_safe): New function, move here from
	evolution/e-util/e-util.c.
	(g_rename, g_stat): Win32-only fixed versions of these GLib
	functions, just until the next GLib version including the same
	fixes is out. This version of g_rename() overwrites existing
	files, and this version of g_stat() strips trailing insignificant
	slashes.

	* libedataserver/e-util.h: Declare the new functions.

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

	* libedataserver/e-db3-utils.c
	* libedataserver/e-file-cache.c: Use gstdio wrappers.

	* libedataserver/e-source.c (e_source_build_absolute_uri): Don't
	use G_DIR_SEPARATOR or g_build_filename() to manipulate URIs. URIs
	always use slashes, not platform-dependent separators.
	(e_source_set_name): Compare the strings, not the pointers.

	* libedataserver/e-source-group.c (e_source_group_set_name):
	Compare the strings, not the pointers.

	* libedataserver/e-xml-utils.c
	* libedataserver/e-xml-utils.h: New files.
	(e_xml_parse_file): Replacement for xmlParseFile(). Needed because
	the file names we handle on Win32 are in UTF-8, which libxml2
	doesn't grok. So, when using GLib 2.8, we map the file with the
	GMappedFile API and use xmlParseMemory(). When built against older
	GLibs (which doesn't happen on Win32), just use xmlParseFile().
	(e_xml_save_file, e_xml_get_child_by_name): Moved from Evolution's
	e-xml-utils.c. Presumably should move all the rest of the
	functions from there, too.

	* libedataserver/Makefile.am: Add the new files. Install
	e-xml-utils.h.

	* libedataserver/e-xml-hash-utils.c: Use e_xml_parse_file() and
	e_xml_save_file(). As e_xml_save_file() does the very careful
	saving using a temporary filename and then rename, don't need to
	that here.

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

	Fix for #323349.

	* configure.in: Change iconv_open ("UTF-8", "ISO_8859-1") 
	to iconv_open ("UTF-8", "ISO-8859-1") to avoid build error
	on solaris.
	
2005-12-07  Tor Lillqvist  <tml@novell.com>

	* libdb/dbinc/db_int.in: As we are using this file (and not the
	prebuilt one in libdb/build_win32/db_int.h) when building using
	autofoo on Win32, need to have the correct PATH_SEPARATOR for
	Win32, too. Add ifdef.

	* libdb/os_win32/os_open.c (__os_open): When using a
	user-registered open function to open the file (and not
	CreateFile()), we still need to set the DB_FH::handle, too, as all
	the other stuff in libdb/os_win32 assumes it is correctly set
	up. On Win32, addressbook/backends/file needs to register an own
	open function (that uses g_open()) as the pathnames e-d-s handles
	on Win32 are in the GLib encoding (i.e., UTF-8) and not the system
	codepage that CreateFile() wants.

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

	* configure.in: Set LIBEXECDIR_IN_SERVER_FILE to libexecdir on
	Unix. On Win32, set it to a path relative from lib/bonobo/servers.
	
	* src/GNOME_Evolution_DataServer.server.in.in: Use
	LIBEXECDIR_IN_SERVER_FILE here. We don't want absolute
	compile-time paths in the .server file on Win32. libbonobo on
	Win32 interprets relative location paths to exes or shlibs as
	being relative to the directory where the .server file was found.
	This makes the .server file point to the correct executable
	regardless of where e-d-s is installed on the end-user machine.

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

	* src/GNOME_Evolution_DataServer.server.in.in: Add missing dash in
	the executable file's name in the InterfaceCheck location.

	* evolution-data-server-zip.in: New file, a script used to build a
	Win32 zipfile distribution of E-D-S. (End users will not be
	expected to install from zipfiles, they would be for power users
	and developers only.)

	* Makefile.am
	* configure.in: Distribute and expand it.

2005-12-01  Chenthill Palanisamy  <pchenthill@novell.com>

	reviewed by Srinivasa Ragavan  <sragavan@novell.com>
	
	* libedataserver/e-uid.c: (e_uid_new): Use the functions
	defined in glib -2.8 only for win32 as it fails to build
	for OS which has glib 2.4.

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

	* libedataserver/e-util.c (e_util_pthread_id): Fix silly bug in
	the ifdef section for "uncommon" platforms. Thanks to Ross Burton for
	noticing.

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

	* libedataserver/e-categories.c (add_category_if_not_present):
	Drop unused static function.
	(e_categories_add_relative): New function. Form the pathname to
	the icon file at run-time (for installability in freely chosen
	location on Windows).
	(initialize_categories_config): Call e_categories_add_relative()
	with just the basename of the icon files.
	
	* libedataserver/e-data-server-module.c
	(e_data_server_module_init): Include libedataserver-private.h to
	get redefinition of E_DATA_SERVER_EXTENSIONDIR (for run-time
	pathname construction) on Windows.

	* libedataserver/e-time-utils.c: Include strptime() implementation
	lifted from glibc for portability. Use it unless
	HAVE_STRPTIME. Make it local for this file, though.

	* libedataserver/e-uid.c (e_uid_new): Use g_get_host_name() from
	GLib 2.8 instead of gethostname().

	* libedataserver/e-url.c (e_uri_new): Use g_ascii_strncasecmp()
	instead of strncasecmp() for portability.

	* libedataserver/e-util.c: Implement install-anywhere machinery
	for Win32.
	(DllMain): Minimal DllMain that just tucks away the handle to the
	DLL.
	(_libedataserver_get_extensiondir, _libedataserver_get_imagesdir,
	_libedataserver_get_ui_gladedir): Functions private to e-d-s.
	(e_util_get_prefix, e_util_get_cp_prefix, e_util_get_localedir,
	e_util_replace_prefix): Functions intended also for Evolution. We
	assume e-d-s and evo are installed in the same folder on the
	end-user machine.
	
	* libedataserver/e-util.h: Declare the above new public Win32-only
	functions.

	* libedataserver/libedataserver-private.h: New file. Declares so
	far some Win32-only functionality, to be used in various parts of
	e-d-s.

	* libedataserver/md5-utils.c (md5_get_digest_from_file): Use
	gstdio wrappers for better non-ASCII filename support on
	Win32. Open file in binary mode. Don't use sizeof(guchar), it
	won't be different than 1 in this universe. Do use sizeof(tmp_buf)
	instead of hardcoding 1024. Drop leftover debugging printouts.

	* libedataserver/Makefile.am: Add libedataserver-private.h. Pass
	more configure-time pathname definitions (as used elsewhere in
	e-d-s) in INCLUDES so that they can be recognized and changed at
	run-time to end-user machine installation paths on Win32.

	* src/server.c: No segv handling on Win32. Run-time path
	construction for the PREFIX, SYSCONFDIR, DATADIR and LIBDIR used
	in GNOME_PROGRAM_STANDARD_PROPERTIES which is passed to
	gnome_program_init().

2005-11-18  Ross Burton  <ross@burtonini.com>

	* libedataserver/md5-utils.c:
	* libedataserver/e-component-listener.c:
	Fix build.

2005-11-17  Ross Burton  <ross@burtonini.com>

	* libedataserver/md5-utils.c:
	* libedataserver/md5-utils.h:
	Don't do byte order checks at runtime but use the GLib
	G_BYTE_ORDER macro (#319592)

2005-11-17  Ross Burton  <ross@burtonini.com>

	* libedataserver/e-account-list.c:
	* libedataserver/e-account.c:
	* libedataserver/e-component-listener.c:
	* libedataserver/e-file-cache.c:
	* libedataserver/e-iterator.c:
	* libedataserver/e-list-iterator.c:
	* libedataserver/e-list.c:
	* libedataserver/e-sexp.c:
	* libedataserver/e-source-group.c:
	* libedataserver/e-source-list.c:
	* libedataserver/e-source.c:
	Use G_DEFINE_TYPE and add some more const keywords (#319591)

2005-11-15  Ross Burton  <ross@burtonini.com>

	* libedataserver/e-data-server-module.c
	Use lazy bindings (#321515)