*******************************************************************************
Version 1.6.6
*******************************************************************************

2010-10-10 Naoya OYAMA <naoya.oyama@gmail.com>
	* change upnp/src/inc/config.h - changed thread configuration to improve
	internal webserver performance.

2008-04-24 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Added thread id's to the UpnpPrintf debug messages. Thanks to
	Charles Nepveu for the idea.

2008-04-24 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	*  SF Bug Tracker [ 1948586 ]
	Uppercase U in in "xmlns:U" in Invoke Action causes seg. f.
	Submitted By: Thomas Norheim - kjakan_no
	Device no longer segfaults with the following malformed xml action:
	<u:SetColor xmlns:U="urn:schemas-upnp-org:service:tvpicture:1">
		<Color>2</Color>
	</u:SetColor>

2008-04-23 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Use -O0 in debug builds so that variables do not get optimized out.

2008-04-10 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Apostolos Syropoulos changes for OpenSolaris x86.

2008-03-20 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Andre Sodermans (wienerschnitzel) patch for building libupnp under
	windows systems with VC9.

2008-03-20 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Andre Sodermans (wienerschnitzel) patch for building libupnp under
	windows systems with VC8.

2008-03-08 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Fixed a printf format problem on the upnp_tv_device.c from both
	upnp/sample/tvdevie and upnp/sample/tvcombo directories. The variable
	port was a short int instead of an unsigned short and it was beeing
	print as a negative value.

2008-03-08 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* SF Bug Tracker [ 1902668 ] Cannot compile on MSVC
	Submitted By Luke Kim - nereusuj
	Version 1.6.5 cannot be compiled because of some changes in 1.6.3.
	MSVC does not support stdint.h, gettimeofday(), sys/param.h, const int
	variables in array size and Windows does not define _WINDOWS_ but define
	_WINDOWS.
	* MSVC does not understand "const int"'s as declarators of array
	dimensions, we must use #define'd constants.
	* Use WIN32 instead of _WINDOWS_ or _WINDOWS.

2008-02-22 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* No longer ignore "upnp:rootdevice" advertisement. Thanks to Bob Ciora.

2008-02-10 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Changed "sys_errlist[errno]", which is deprecated, by
	"strerror_r()", which is thread safe.

2008-02-06 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Slightly improved error report by showing the sys_errlist string
	corresponding to errno.

2008-02-06 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Got rid of two useless constants: UPNP_SOCKETERROR and
	UPNP_INVALID_SOCKET. They both mean the same, that a network API
	function has failed. -1 is the value to check, not an invented constant.

*******************************************************************************
Version 1.6.5
*******************************************************************************

2008-02-02 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Peter Hartley's fix for wrong sized variable beeing passed to
	http_MakeMessage() on 64 bit architectures.


*******************************************************************************
Version 1.6.4
*******************************************************************************

2008-01-23 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Workaround for a problem with the new automake AM_CONDITIONAL macro
	from autotools-1.10. Thanks to Ingo Hofmann for helping with debugging
	this one.

2008-01-22 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Added quoting to macros AC_CONFIG_AUX_DIR, AC_CONFIG_MACRO_DIR and
	AC_CONFIG_SRCDIR in configure.ac. Also changed the name of the
	auxiliary directory in AC_CONFIG_AUX_DIR to build-aux.

2008-01-22 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Fix for setsockopt() in Threadpool.c to allow more than one process
	to join the multicast-group on OSX. Thanks to Ingo Hofmann.

2008-01-22 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Using defined(__OSX__) || defined(__APPLE__) instead of just
	defined(__OSX__) in the code. Thanks to Ingo Hofmann and Chris
	Pickel.

2008-01-21 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Fix for isFileInVirtualDir. Thanks to Peter Hartley for the patch.

2008-01-07 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Putting back a "defined(__OSX__)" that has been removed in the
	previous *BSD patch. Thanks to Chris Pickel for pointing it out.

2008-01-07 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* SF Patches Tracker [ 1865812 ] typo in docs comment
	Submitted By: Hartmut Holzgraefe - hholzgra
	typo in docs comment ACCAPTED instead of ACCEPTED in
	@name UPNP_E_UNSUBSCRIBE_UNACCAPTED [-302]
	Also, the documentation file name was mispelled and was corrected in
	the Makefile.am.

*******************************************************************************
Version 1.6.3
*******************************************************************************

2007-12-25 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Using pthread flags for the whole project, not just at the places
	individually indicated by several Makefile.am files spread all over
	the directories. That was too much error prone.

2007-12-24 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Added a configure test to check if pthread_rwlock_t is available.
	Define _GNU_SOURCE if needed. The fallback behaviou will only be
	implemented if _GNU_SOURCE prooves to be insufficient on some
	platforms. Thanks to Jonathan Casiot (no_dice) and Robert Gingher
	(robsbox).

2007-12-17 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Removed unused iasnprintf.{c,h} files.

2007-12-17 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Removed STATSONLY() macro from ThreadPool.{c,h}.
	* Removed time() usage from ThreadPool.c.
	* Fixed STATS = 0 compilation.

2007-12-16 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Library was not compiling on FreeBSD 7. Code now no longer uses
	ftime(), using gettimeofday() instead. Thanks to Josh Carroll.


*******************************************************************************
Version 1.6.2
*******************************************************************************

2007-12-10 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Fixed a compilation error due to a missing #ifdef in
	upnp/src/genlib/miniserver/miniserver.c. Thanks to Eugene Christensen.

2007-11-12 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* "make check" was failing because ixml/test/test_document.sh did not
	have the executable flag set. Thanks to Steve Bresson.

2007-11-12 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Fixed a memory leak in upnpapi.c to delete gMiniServerThreadPool in
	the call to UpnpFinish(). Thanks to Fabrice Fontaine.

2007-11-09 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Added a isleep() call to the error handler of select() in
	RunMiniServer(), so that it does not take 100% cpu in case select()
	fails repeatedly.

*******************************************************************************
Version 1.6.1
*******************************************************************************

2007-11-07 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* SF Bug Tracker [ 1825278 ] AdvertiseAndReply sleeps with handle lock out
	Applied patch from Alex (afaucher) to change some write locks to read
	locks.

2007-11-06 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Adjusting libtool library numbers to reflect the last changes.

2007-11-06 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* SF Bug Tracker [ 1825278 ] AdvertiseAndReply sleeps with handle lock out
	GlobalHndMutex, which was a mutex is now GlobalHndRWLock, which is a
	rwlock. HandleLock() is mapped to HandleWriteLock() while all other
	instances have not been checked. One instance in AdvertiseAndReply()
	has been changed to HandleReadLock(). Thanks to Alex (afaucher) for the 
	bug report and suggestions.

2007-11-06 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Added support for rwlocks.

2007-11-05 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* SF Bug Tracker [ 1825929 ] woker thread still alive after UpnpFinish()
	Submitted By: Luke Kim - nereusuj
	Worker thread still alive after calling UpnpFinish() because
	ThreadPoolShutdown() is in the #ifdef DEBUG block.
	421
	422 #ifdef DEBUG
	423 ThreadPoolShutdown( &gSendThreadPool );
	424 ThreadPoolShutdown( &gRecvThreadPool );

2007-08-28 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Changed the calls to virtualDirCallback.open(filename, UPNP_WRITE)
	to (virtualDirCallback.open)(filename, UPNP_WRITE) (notice the
	parenthesis) due to a change in glibc that produces compilation
	errors.

2007-08-28 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Initialization of the "randomness" struct so that valgrind does not
	complain.

2007-08-06 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Merge of patch submitted By Keith Brindley - brindlk
	SF Bug Tracker [ 1762758 ] Seek not working for large files
	Problem:
	Requests from the uPnP client to seek to a position beyond 2GB in a large
	file are handled as a request to see from the 2GB point.

	Impact:
	Varies depending on client. The Xbox 360 kills the connection when it
	realises.

	Solution:
	GetNextRange function (webserver.c) is updated to handle large file sizes.
	Fix should also recognise when built on a 32bit platform rather than 64 and
	handle accordingly.

2007-08-05 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Merge of Mac OS X patch from Stéphane Corthésy (davelopper),
	SF Bug Tracker [ 1686420 ] Modifications for MacOSX.
	Some of the proposed changes were already done by Rene Hexel's patch.

*******************************************************************************
Version 1.6.0
*******************************************************************************

2007-06-10 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* More fixes to Mac OS X and NetBSD from Rene Hexel:
	[pupnp-devel] NetBSD & Mac OS X packages and patches

	  Okay, I found a couple more things.  I have attached a patch file
	against the trunk (version 206) that make the repository code compile
	and run on both Mac OS X and NetBSD.

	This fixes the following issues:

	   upnp/src/api/upnpapi.c: SIOCGIFCONF didn't work properly, use
	getifaddrs() instead (on BSD systems).

	  threadutil/src/ThreadPool.c: priorities only work if
	_POSIX_PRIORITY_SCHEDULING is defined (and greater than 0).

	  threadutil/src/LinkedList.c and threadutil/src/iasnprintf.c: use
	stdlib.h instead of malloc.h on all BSD systems (not just FreeBSD).
	This is important, because malloc.h does not exist on Darwin/Mac OS X.

	  Cheers
	      ,
	   Rene

2007-06-09 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* [pupnp-devel] NetBSD & Mac OS X packages and patches.
	Rene Hexel's <rh@netbsd.org> patch to compile in NetBSD and Mac OS X.

2007-05-26 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Updated the macro files acx_pthread.m4, ax_cflags_gcc_option.m4,
	ax_cflags_warn_all.m4, m4/ax_cflags_warn_all_ansi.m4,
	m4/type_socklen_t.m4.

2007-05-26 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Fixed an issue with the instalation of the file upnpdebug.h. Since
	the last modifications that removed the macro DEBUV_ONLY, this file
	must be installed even on a non-debug build.

2007-05-26 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* SF Bug Tracker [ 1711325 ] Bad DestAddr in Upnp_Discovery structure
	Submitted By: Bob Ciora
	The field DestAddr of the structure Upnp_Discovery is now a full
	SOCKADDRIN instead of a pointer to SOCKADDRIN. Commented code sugests
	that in a previous moment, the function ssdp_handle_ctrlpt_msg() did
	not use a postponed thread to call ctrlpt_callback(). Now the code
	uses a thread, and most probably the original data would get lost and
	the pointer would point to an invalid memory region. This fix caused
	an interface change in the library and the minor library version was
	bumped. Also, the libtool library numbers were changed accordingly.

*******************************************************************************
Version 1.4.7
*******************************************************************************

2007-05-26 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Added support for the Basic Device
	(http://www.upnp.org/standardizeddcps/basic.asp) as suggested by
	Titus Winters.

2007-05-25 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Fixed the file libupnp.pc.in to generate a correct path for the
	include files.

2007-05-25 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Removing the Dbg_Level, InitLog, SetLogFileNames and CloseLog
	defines. These were just aliases, no reason to keep them.

2007-05-25 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Changed the comments of the include files that expose the UPnP API
	to use only C89 comments and no C99 comments.

2007-05-24 Nektarios K. Papadopoulos <npapadop(at)inaccessnetworks.com>
	* Added tvcombo sample that demonstrates coexistence of a device and a
	control point in the same application.

2007-05-24 Nektarios K. Papadopoulos <npapadop(at)inaccessnetworks.com>
	* SF Tracker FR [ 1570020 ].
	* Enable both device and control point in the same application. Resolve
	deadlock in the SSDP processing threads.
	* Fix Threadpool expansion condition.
	Thanks to Siva Chandran P. for the original patch.

2007-05-24 Nektarios K. Papadopoulos <npapadop(at)inaccessnetworks.com>
	* Modified tvdevice (control and picture) service descriptions to make
	compatible with WinXP/IE control point. 'in' arguments must appear before
	'out' arguments in argument list.
	Thanks to Martin Tremblay for pointing out the solution originally provided
	by MORIOKA Yasuhiro.

2007-05-21 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* More MSVC fixes, using XINLINE instead of inline, MSVC has troubles
	with inline. Thanks to David Maass for reporting.
	* Changed XINLINE to UPNP_INLINE.

2007-05-21 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Added the file build/inc/msvc/inttypes.h. This file is for use with
	MSVC only, because it does not provide C99 compatibility.

2007-05-18 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Removed all uses of the DEVICEONLY(x) macro.

2007-05-17 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Removed all uses of the DBGONLY(x) macro. A static inline empty
	function now is used and the compiler takes care of optimizing it out.

2007-05-17 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Fixed a bug in UpnpPrintf, function could call va_start() and return
	befor calling va_end().

2007-05-15 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* EXPORT_SPEC missing on some declarations in ixml/inc/ixml.h.
	Thanks to David Maass.

2007-05-15 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* sizeof is unsigned, so %zu is more adequate than %zd.

2007-05-15 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Using an invented printf directive PRIzu that on MSVC
	expands to "lu", and on normal C99 compilers expands to "zu".

2007-05-15 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Rewrote raw_find_str. Now it no longer uses strcasestr(), but it
	transforms the first input buffer into lowercase.

2007-05-08 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Fix for debug printf format strings. size_t are not expected
	in a string format like "%.*s".

2007-05-08 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Added inttypes.h as a header requirement in configure.ac.

2007-05-11 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Moved upnp_tv_ctrlpt and upnp_tv_device executables from folder
	upnp to folder upnp/sample. Moved folder upnp/sample/tvdevice/web
	to folder upnp/sample/web. This way, if someone compiles the
	tarball and executes upnp_tv_device from its creation directory,
	there will be no error -108 for not finding directory web.

*******************************************************************************
Version 1.4.6
*******************************************************************************

2007-04-19 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Fix for freebsd host_os in configure.ac.

*******************************************************************************
Version 1.4.5
*******************************************************************************

2007-04-19 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Case insensitive comparison in raw_find_str() (httpparser.c) as
	suggested by Craig Nelson in SF Tracker [ 1689382 ] DLINK DIR-625
	patch.

2007-04-07 Nektarios K. Papadopoulos <npapadop(at)inaccessnetworks.com>
	* Fix for a bug in makeAction where va_arg was beeing called one
	extra time.

2007-04-28 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* SF Tracker [ 1703533 ] Patch to make it compile under FreeBSD
	Submitted By: Timothy Redaelli - drittz
	I made some patches to make it compile under FreeBSD using
	gethostbyaddr_r when supported.

2007-04-28 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* [pupnp-devel] Type mixup on x86_64 causes UPNP_E_OUTOF_MEMORY
	Submitted By: Glen Masgai
	after an UpnpSendActionAsync() for example, i get UPNP_E_OUTOF_MEMORY
	in the callback using 1.4.4 on a x86_64 system. This happens in
	http_MakeMessage(), which in some cases get called with wrong types
	(int instead of size_t) in combination with format "b" and "Q".
	The attached patch should fix this.

*******************************************************************************
Version 1.4.4
*******************************************************************************

2007-04-06 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* SF Tracker [ 1695399 ] Typo in util.h
	Submitted By: Luke Kim - nereusuj
	Unix sleep is in seconds but WIN32 Sleep is in milliseconds.

2007-04-17 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* SF Tracker [ 1652827 ] UpnpRegisterRootDevice returned -104
	Submitted By: Michael Andersen - miwer
	
	Issue was found to be related to sizeof (size_t) != sizeof (int)
	on AMD64 systems. Emil Ljungdahl's AMD64 patch has been applied along
	with some other fixes. Original user report follows:

	When I run upnpd I get the above mentioned error (UPNP_E_OUTOF_MEMORY).
	I've tried with 1.4.1 and 1.4.2-RC3, it's the same. I don't understand why,
	because I have plenty of RAM, and I even tried closing some applications,
	but it didn't help.

	$ upnpd eth1 br0

	The following is logged in the /var/log/messages:
	Feb 6 01:33:47 server upnpd[6933]: Error registering the root device with
	descDocUrl: http://192.168.0.1:49152/gatedesc.xml
	Feb 6 01:33:47 server upnpd[6933]: UpnpRegisterRootDevice returned -104


	I tried enabling debugging and it looks like it cannot allocate memory
	through the membuffer_append function. It's wierd because it's only a few
	bytes.

	Please note, that I enabled some extra debugging lines that were commented,
	in order to get more information. See attached files.

*******************************************************************************
Version 1.4.3
*******************************************************************************

2007-03-13 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* SF Tracker [ 1663004 ] Compile on Cygwin
	Submitted By: Jon Foster - jongfoster
	This patch gives basic support for building under Cygwin - it compiles,
	links, and a simple UPnP device application can initialise. I'm not sure
	if it actually works yet, but this is definitely a step in the right
	direction.
	
	Patch is against the 1.4.1 release. Changes are:
	
	* threadutil/inc/ithread.h: Fix the ithread mutex support to use
	documented, portable APIs (if present) rather than the Non-Portable (_NP)
	ones it uses now. This is required because Cygwin implements only the
	portable API.
	
	* threadutil/src/ThreadPool.c: Fake SetPolicyType() to do nothing on Cygwin
	because otherwise it fails. Should probably investigate why it fails and
	add a proper implementation later.
	
	* upnp/src/api/upnpapi.c: On Cygwin, zero out the GlobalHndMutex structure
	before initialising it. Without this, the initialisation fails. This
	appears to be a bug in Cygwin.
	
	* upnp/src/genlib/net/uri/uri.c: Use gethostbyname() on Cygwin.
	
2007-03-05 Oxy <oxygenic(at)users.sourceforge.net>
	* Code adapted and typedefs added to compile cleanly under Windows
	with Borland C++ Builder and MS Visual C++

2007-03-03 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	
	* Fixed nasty segmentation fault bug on membuffer.c.
	
*******************************************************************************
Version 1.4.2
*******************************************************************************

2007-02-09 Marcelo Jimenez <mroberto(at)users.sourceforge.net>

	* 32/64 bits portability issues on *printf.
	Use %zd for size_t, and cast to (long long) for off_t.

2007-02-02 Marcelo Jimenez <mroberto(at)users.sourceforge.net>

	* Bumped the program version to 1.4.2 in config.ac.

	* Now requires autoconf 2.60.

	* Fixed docdir use.

	* Does not install the documentation by default.

	* Use dist-bzip2 to create a .bz2 distribution file.

2007-01-23 Marcelo Jimenez <mroberto(at)users.sourceforge.net>

	* SF Tracker [ 1634922 ] Support for large files (>= 2 GiB), part 2
	Submitted By: Jonathan Casiot - no_dice
	Summary: This patch hopefully fixes the remaining types and related
	code to enable files >= 2 GiB to be streamed. Jonathan claims to have
	tested this with a patched version of ushare-0.9.8 and a D-Link DSM-520.

2007-01-09 Marcelo Jimenez <mroberto(at)users.sourceforge.net>

	* SF Tracker [ 1628629 ] Multicast interface patch
	Submitted By: Fredrik Svensson - svefredrik
	This patch fixes two problems:
	1) Specify the IP address for the interface when we do
	setsockopt IP_ADD_MEMBERSHIP. This makes it possible to run
	when no default router has been configured.
	2) Explicitly set the multicast interface through setsockopt
	IP_MULTICAST_IF. Avoids socket error -207 in some cases.
	
	* SF Tracker [ 1628590 ] XML parsing segfault patch
	Submitted By: Fredrik Svensson - svefredrik
	This patch fixes a segmentation fault problem that occurrs
	when parsing XML code than some routers produce.

2007-01-06 Marcelo Jimenez <mroberto(at)users.sourceforge.net>

	* SF Tracker [ 1628552 ] XML white space patch
	Submitted By: Fredrik Svensson - svefredrik
	
	* SF Tracker [ 1628562 ] Maximum total jobs patch
	Submitted By: Fredrik Svensson - svefredrik
	Also, I incremented the libray versions and included some
	comments in the file configure.ac so that we do not bump
	the library version excessively, only the necessary numbers
	on the next release.
	
	* SF Tracker [ 1628575 ] Linksys WRT54G patch
	Submitted By: Fredrik Svensson - svefredrik
	
	* SF Tracker [ 1628636 ] SSDP packet copy patch
	Submitted By: Fredrik Svensson - svefredrik
	Changed NUM_COPY to 1 since, according to section 9.2 of the
	HTTPU/MU spec, we should never send more than one copy of a
	reply to an SSDP request. Ref. section 9.2 of
	http://www.upnp.org/download/draft-goland-http-udp-04.txt

2006-12-23 Marcelo Jimenez <mroberto(at)users.sourceforge.net>

	* Thorough revision of every call of http_MakeMessage() due to a
	bug introduced in rev.79 "largefile patch added".
	http_MakeMessage() has a worst than brain damaged "printf" like
	interface. In rev.79, the "N" format parameter must be an off_t.
	Every call of this function with an "N" format parameter and an
	int passed on the stack would fail terribly.
	
	* SF Bug tracker [ 1590469 ]
	Typo in ixmlparser.c
	Submitted By: Erik Johansson - erijo
	
	* SF Bug Tracker [ 1590466 ] Invalid xml output
	Submitted By: Erik Johansson - erijo
	
	* SF Patch tracker [ 1581161 ] VStudio2005 patch
	Submitted By: David Maass - darkservant
	
	* SF Patch tracker [ 1587272 ] const-ified ixml
	Submitted By: Erik Johansson
	
	* Finished const-ifications as suggested by Erik Johansson in
	SF Patch tracker [ 1587272 ].

2006-07-05 Nektarios K. Papadopoulos <npapadop(at)inaccessnetworks.com>
	* [bug-id] 1580440
	[submitted-by] Erik Johansson - erijo
	[patched-by] Erik Johansson - erijo
	The SOAP HTTP message that's generated on upnp errors
	is missing a \r\n\ between header and body.

2006-07-07 Oxy <virtual_worlds(at)gmx.de>

	* support for large files (>2 GBytes) added


*******************************************************************************
Version 1.4.1
*******************************************************************************

2006-07-07 Oxy <virtual_worlds(at)gmx.de>

	* full support for Windows added, static library and DLL are fully
	working, code compiles with Borland Builder C++ and MS Visual
	C/C++

2006-07-05 Nektarios K. Papadopoulos <npapadop(at)inaccessnetworks.com>

	* Include prebuilt documentation (html,pdf), dropping doc++ 
	dependancy.

2006-07-03 Marcelo Jimenez <mroberto(at)users.sourceforge.net>

	* Patch for FreeBSD, thanks to Markus Strobl.

2006-06-26 Marcelo Jimenez <mroberto(at)users.sourceforge.net>

	* Fix for missing "else" in httpreadwrite.c. Thanks to npapadop
	for the patch.

2006-06-26 Marcelo Jimenez <mroberto(at)users.sourceforge.net>

	* Fix for va_list initialization in x86_64 architectures.

2006-06-08 Oxy <virtual_worlds(at)gmx.de>

	* Patch to fix memory leaks and reasons for crashes added (thanks
	to loigu)

*******************************************************************************
Version 1.4.0
*******************************************************************************

2006-05-26 Oxy <virtual_worlds(at)gmx.de>

	* defines in iasnprintf.h changed to work with GCC-version < 3

2006-05-22 Oxy <virtual_worlds(at)gmx.de>

	* BSD-patch added (not tested yet on an BSD system)

2006-05-19 Oxy <virtual_worlds(at)gmx.de>

	* Patch added for bug: ixml parser colapsed on empty args (arg="")

2006-05-18 Oxy <virtual_worlds(at)gmx.de>

	* DSM-320 patch added (fetched from project MediaTomb)
	
	* httpGet additons atch added, Added proxy support by introducing
	  UpnpOpenHttpGetProxy. UpnpOpenHttpGet now just calls
	  UpnpOpenHttpGetProxy with the proxy url set to NULL.
	  
	* Bugfix for typo ("\0" / "0") in ixmlparser.c
	
	* Bugfix for M-Search packet

*******************************************************************************
FORK FROM DEAD libupnp
*******************************************************************************

2006-04-29  Rémi Turboult  <r3mi(at)users.sourceforge.net>

	* THANKS: new file with list of contributors

	* upnp/src/gena/gena_device.c (respond_ok): add 'Content-Length: 0'
	  in subscription response. Patch by Chaos (Bug # 1455367).

2006-04-08  Rémi Turboult  <r3mi(at)users.sourceforge.net>

	* upnp/doc/UPnP_Programming_Guide.pdf: replace this document with 
	  the one in libupnp-doc-1.2.1 because current CVS version 
	  was corrupted.

2006-04-06

	* changes applied to several files to work under Sparc Solaris, temporarily
	  requiring a define SPARC_SOLARIS

2006-04-03  Rémi Turboult  <r3mi(at)users.sourceforge.net>

	* upnp/Makefile.am: install upnp samples in $(docdir)/examples

2006-03-28  Rémi Turboult  <r3mi(at)users.sourceforge.net>

	* configure.ac: add --with-docdir option to choose where documentation
	  is installed (or -without-docdir to not install the documentation)

2006-03-27  Rémi Turboult  <r3mi(at)users.sourceforge.net>

	* ixml/test: add simple test suite for xml parser

2006-03-26  Rémi Turboult  <r3mi(at)users.sourceforge.net>

	* ixml/src/ixmlparser.c (Parser_processCDSect): fix bug which prevents
	  CDATA sections which contain a 0 (zero) to be parsed (instead the
	  parsing of the whole document is aborted). Patch by Arno Willig 
	  (Patch # 1432124).

	* configure.ac, upnp/Makefile.am: add "--disable-samples" configure
	  option, and move samples compilation from check_PROGRAMS to
	  noinst_PROGRAMS

2006-03-25  Rémi Turboult  <r3mi(at)users.sourceforge.net>

	* upnp/src/genlib/miniserver/miniserver.c (get_miniserver_sockets): 
	  fix bug if new socket created has fd 0 (can only occur when stdin
	  has been closed). Patch by Oskar Liljeblad 2004-07-02 :
	  http://sourceforge.net/mailarchive/message.php?msg_id=8870528
	
2006-03-21  Rémi Turboult  <r3mi(at)users.sourceforge.net>

	* upnp/test/test_init.c: add some version checks and exit if failure

2006-03-05  Rémi Turboult  <r3mi(at)users.sourceforge.net>

	* libupnp version 1.3.1

	* upnp/inc/upnpconfig.h.in: add new define UPNP_VERSION_PATCH

	* upnp/test/test_init.c: add simple test to run during checks

	* upnp/inc/upnp.h: include "upnpdebug.h" only if debug enabled
	  in the library (else header file is not installed)

	* upnp/Makefile.am (libupnp_la_LDFLAGS): add inter-library libtool
	  dependencies between upnp and ixml / threadutil, so that programs 
	  linking against upnp only still work.

2006-03-04  Rémi Turboult  <r3mi(at)users.sourceforge.net>

	* libupnp version 1.3.0

2006-03-03  Rémi Turboult  <r3mi(at)users.sourceforge.net>

	* upnp/src/genlib/net/http/httpreadwrite.c (get_sdk_info): use
	  package version string from configure to set sdk info

	* upnp/Makefile.am: add sample/tvdevice/web/ files in EXTRA_DIST
	  + do not distribute generated upnpconfig.h file.

2006-02-28  Rémi Turboult  <r3mi(at)users.sourceforge.net>

	* upnp/src/inc/config.h, configure.ac: use only new defines
	  UPNP_HAVE_xx instead of INCLUDE_yyy_APIS and INTERNAL_WEB_SERVER

	* upnp/Makefile.am, ixml/Makefile.am: add -export-symbols-regex to
	  the librarie LDFLAGS in order to export only the symbols defined 
	  in the API

2006-02-27  Rémi Turboult  <r3mi(at)users.sourceforge.net>

	* configure.ac: add libtool versions for the 3 libraries

	* ixml/src/ixml.c (copy_with_escape): add missing 'static' to function

	* threadutil/src/ThreadPool.c (SetSeed): add missing 'static' 

2006-02-26  Rémi Turboult  <r3mi(at)users.sourceforge.net>

	* threadutil/inc/iasnprintf.h: add gcc __printf__ format attribute
	  to "iasnprintf"

	* upnp/src/api/upnpapi.c: fix invalid UpnpPrintf formats

	* upnp/src/gena/gena_device.c: fix invalid UpnpPrintf formats

	* upnp/src/inc/config.h: move upnp/inc/config.h to internal
	  sources (this file is no longer installed with the libraries)

	* upnp/inc/upnpdebug.h: new file created from debug definitions
	  previously in upnp/inc/config.h

	* upnp/src/api/config.c: rename to upnp/src/api/upnpdebug.c

	* upnp/inc/upnpconfig.h.in: new file to contain information on    
	  the configuration of the installed libraries (generates installed
	  file <upnp/upnpconfig.h>)

2006-02-22  Rémi Turboult  <r3mi(at)users.sourceforge.net>

	* upnp/ : add missing include of config.h in some .c files

2006-02-21  Rémi Turboult  <r3mi(at)users.sourceforge.net>

	* upnp/inc/upnp.h: move some definitions which should not be
	  exported into "upnp/src/inc/util.h"

	* import all modifications below from libupnp in djmount 0.51
	  into official libupnp
	
2006-01-17  Rémi Turboult  <r3mi(at)users.sourceforge.net>

	* threadutil/Makefile.am (libthreadutil_la_SOURCES): remove extraneous
	  file

2006-01-15  Rémi Turboult  <r3mi(at)users.sourceforge.net>

	* configure.ac: add checks for large-file support

	* upnp/inc/config.h: rename to "upnpconfig.h". The new "config.h" file
	  is the one generated by autoconf.

	* m4/type_socklen_t.m4: added new check for socklen_t (fallback to
	  int if not defined)

	* upnp/src/genlib/miniserver/miniserver.c, 
	  upnp/src/ssdp/ssdp_server.c: use socklen_t where appropriate 
	  (instead of int)

	* upnp/src/genlib/net/http/httpreadwrite.c (get_sdk_info): remove
	  XINLINE declaration (unused and too late)

	* ixml/src/node.c (ixmlNode_getNodeType): fix compilation warning
	  on const return type

2006-01-12  Rémi Turboult  <r3mi(at)users.sourceforge.net>

	* upnp/src/inc/readwrite.h : suppress unused C++ header file

2006-01-11  Rémi Turboult  <r3mi(at)users.sourceforge.net>

	* upnp/inc/config.h, upnp/src/inc/upnpapi.h, 
	  upnp/src/inc/httpreadwrite.h: remove internal configuration variable 
	  MINIMUM_DELAY (no clear purpose)

2005-12-05  Rémi Turboult  <r3mi(at)users.sourceforge.net>

	* upnp/inc/upnp.h: re-declare obsolete method UpnpSetContentLength,
	  for binary compatibility with previous libupnp version.

	* upnp/src/api/upnpapi.c: correct type of g_maxContentLength to size_t

2005-11-01  Rémi Turboult  <r3mi(at)users.sourceforge.net>

	* autoconfiscate library : replace all makefiles by Makefile.am
	  for automake support, + preliminary autoconf support
	  (generated config.h not yet used in source files)

2005-10-18  Rémi Turboult  <r3mi(at)users.sourceforge.net>

	* upnp/src/makefile: fix location of DEBUG STATIC libupnp library
	
	* upnp/sample/tvctrlpt/linux/Makefile, 
	  upnp/sample/tvdevice/linux/Makefile: fix STATIC library support

2005-10-16  Rémi Turboult  <r3mi(at)users.sourceforge.net>

	* threadutil/src/Makefile (clean): remove built library

2005-08-28  Rémi Turboult  <r3mi(at)users.sourceforge.net>

	* ixml/src/ixml.h, ixml/src/ixml.c (ixmlRelaxParser) : new function

	* ixml/src/ixmlparser.h, ixml/src/ixmlparser.c (Parser_setErrorChar) :
	  new function

2005-08-02  Rémi Turboult  <r3mi(at)users.sourceforge.net>

	* ixml/src/Makefile: correct bug for static library being incorrectly 
	  stripped when building non-debug

2005-06-09  Rémi Turboult  <r3mi(at)users.sourceforge.net>

	* ixml/src/element.c (ixmlElement_removeAttributeNode): 
	  remove some compilation warning

	* ixml/inc/ixml.h, ixml/src/document.c : 
	  add some missing const's in public API 

	* upnp/inc/upnptools.h, upnp/src/api/upnptools.c : 
	  add missing const's in public API

2005-05-28  Rémi Turboult  <r3mi(at)users.sourceforge.net>

	* upnp/inc/config.h: suppress HTTP_READ_BYTES (unused)
	  and replace by DEFAULT_SOAP_CONTENT_LENGTH (previously in upnpapi.h)
	
	* upnp/inc/upnp.h, upnp/src/api/upnpapi.c : replace 
	  UpnpSetContentLength (which was not using its Handle argument) 
	  by global function UpnpSetMaxContentLength. 
	  Remove "hard" limitation to 32K (not suitable for using in UPnP AV).
	
	* upnp/src/inc/upnpapi.h : removed DEFAULT_SOAP_CONTENT_LENGTH
	  (moved to config.h) and MAX_SOAP_CONTENT_LENGTH (now unused)

	* upnp/src/api/upnptools.c : add more error message strings

	* upnp/src/genlib/net/http/httpreadwrite.c : return OUTOF_BOUNDS
	  instead of BAD_HTTPMSG when allowed Content Length is exceeded.

	* upnp/src/genlib/net/http/httpreadwrite.c : corrected an incorrect
	  sprintf format
	
2005-05-27  Rémi Turboult  <r3mi(at)users.sourceforge.net>

	* upnp/makefile, upnp/src/makefile, 
	  ixml/Makefile, ixml/src/Makefile, 
	  threadutil/Makefile, threadutil/src/Makefile : 
	  implement STATIC library support (from patch at 
	  http://sourceforge.net/tracker/?group_id=7189&atid=307189 )

2005-05-26  Rémi Turboult  <r3mi(at)users.sourceforge.net>

	* upnp/src/api/upnpapi.c, upnp/src/soap/soap_device.c,
	  upnp/src/soap/makefile : 
	  corrections for compilation with CLIENT=1 only
	
	* importing "libupnp-1.2.1a" as baseline
	
