ee8e52ea4a
When a device with embedded devices (like IGD) when created and one of
the embedded devices did not have any service, there was a Segmentation
Fault (see SF Tracker [ 2688125 ]).
(cherry picked from commit ab54cb3dc5
)
1798 lines
70 KiB
Plaintext
1798 lines
70 KiB
Plaintext
*******************************************************************************
|
|
Version 1.8.0
|
|
*******************************************************************************
|
|
|
|
2010-09-18 Chandra Penke <chandrapenke(at)mcntech.com>
|
|
|
|
This is a minor build fix. The new Template*.h files added in the latest
|
|
code need to be exported. Patch against the latest sources is attached.
|
|
|
|
2010-08-22 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* upnp/src/api/Discovery.c: Fix a serious bug and memory leak in
|
|
UpnpDiscovery_strcpy_DeviceType(). Thanks to David Blanchet for the
|
|
patch.
|
|
|
|
2010-04-25 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
Separation of the ClientSubscription object.
|
|
|
|
2010-04-24 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
Protect the object destructors agains null pointers on deletion, which
|
|
should be something valid.
|
|
|
|
2010-03-27 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
SF Patch Tracker [ 2987390 ] upnp_debug vs. ixml_debug
|
|
Thanks for the load of updates, I'm still assimilating them ! Could I make
|
|
a suggestion though? The addition of printNodes(IXML_Node) to upnpdebug a
|
|
dds a new dependency on ixml.h for anything using upnpdebug.h. I'm making
|
|
quite a bit of use of upnpdebug in porting things to version 1.8.0, and I'd
|
|
prefer it if printNodes could be added to ixmldebug.h instead. I'm attach
|
|
ing a patch, what do you think ?
|
|
|
|
Nick
|
|
|
|
2010-03-27 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* Forward port of svn revision 505:
|
|
SF Patch Tracker [ 2836704 ] Patch for Solaris10 compilation and usage.
|
|
Submitted By: zephyrus ( zephyrus00jp )
|
|
|
|
2010-03-20 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* SF Patch Tracker [ 2969188 ] 1.8.0: patch for FreeBSD compilation
|
|
Submitted By: Nick Leverton (leveret)
|
|
Fix the order of header inclusion for FreeBSD.
|
|
|
|
2010-03-20 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* Forward port of svn revision 502:
|
|
SF Patch Tracker [ 2836704 ] Search for nested serviceList (not
|
|
stopping at the first lis
|
|
Submitted By: zephyrus ( zephyrus00jp )
|
|
|
|
Internet Gateway Device description contains nested serviceList (rootdevice
|
|
-> servicelist, subdevice
|
|
and subdevice has the lower-level serviceList, etc..)
|
|
|
|
Unfrotunately, the sample code sample_util.c used by tv_device sample,
|
|
etc.
|
|
has a code that looks for only the first top-level serviceList.
|
|
This results in the failure to read all the services of an IGD xml
|
|
description.
|
|
|
|
Attached patch modifies this behavior and looks for the service by
|
|
visiting all the serviceList in xml document in turn.
|
|
|
|
With the modified patch (ad additional modification), I could
|
|
simulate an IGD device and created a modified control program for that.
|
|
|
|
Patch against 1.6.6
|
|
|
|
TIA.
|
|
|
|
2010-03-20 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* SF Patch Tracker [ 2973319 ] Problem in commit 499
|
|
Submitted By: Nick Leverton (leveret)
|
|
Afraid that this doesn't compile, it seems retval should be retVal in two
|
|
places.
|
|
|
|
2010-03-16 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* Fix for the ithread_mutex_unlock() logic in UpnpInit().
|
|
Thanks for Nicholas Kraft.
|
|
|
|
2010-03-15 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* SF Patch Tracker [ 2962606 ] Autorenewal errors: invalid SID,
|
|
too-short renewal interval
|
|
Submitted By: Nick Leverton (leveret)
|
|
|
|
Auto-renewals send an invalid SID due to a missing UpnpString_get_String
|
|
call. They also send a renewal interval of 0 instead of copying it from
|
|
the original subscription.
|
|
|
|
2010-03-15 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* SF Patch Tracker [ 2964685 ] patch for avoiding inet_ntoa (1.8.0)
|
|
Submitted By: Nick Leverton (leveret)
|
|
|
|
Seems like SF's tracker won't let me add a patch to someone else's issue ?!
|
|
This refers to https://sourceforge.net/support/tracker.php?aid=2724578
|
|
|
|
The calls to inet_ntoa are in getlocalhostname(), which is called from
|
|
UpnpInit when it is returning the bound IP address.
|
|
UpnpInit/getlocalhostname hasn't been updated to IPv6, I presume this is
|
|
deliberate so that it doesn't start returning IPv6 addresses and
|
|
overwriting the caller's IPv4-sized allocation.
|
|
|
|
The attached patch just updates getlocalhostname to use inet_ntop instead
|
|
of inet_ntoa, and also documents the fact that UpnpInit is IPv4 only whilst
|
|
UpnpInnit2 is both IPv4 and IPv6.
|
|
|
|
A fuller solution might be to change UpnpInit to use some variant on
|
|
UpnpGetIfInfo. UpnpInit could still be left as IPv4 only if desired -
|
|
perhaps UpnpGetIfInfo could take an option for the desired address family.
|
|
getlocalhostname and its own copy of the interface scanning code would then
|
|
be redundant. I don't have IPv6 capability here though so I'm reluctant to
|
|
change the IPv6 code, as I have no way to test it.
|
|
|
|
2010-03-15 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* SF Patch Tracker [ 2724578 ] patch for avoiding memory leaks when
|
|
add devices
|
|
|
|
each time a device been added, UpnpInit() is called, on exit, UpnpFinish()
|
|
is called, but the memories allocated by ThreadPoolInit() may lost because
|
|
there's no code to call ThreadPoolShutdown() to release the memories. And
|
|
inet_ntoa() is not thread safe, so in my patch, I substitute inet_ntoa()
|
|
with inet_ntop().
|
|
|
|
2010-03-14 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* SF Patch Tracker [ 2964687 ] Add new string based accessors to upnp
|
|
object API
|
|
|
|
As per email to pupnp-devel, this is the patch to add the _strget_
|
|
accessors for string-like objects in the interface.
|
|
|
|
Will add a further patch shortly to udpate the sample programs.
|
|
|
|
2008-06-27 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* Nicholas Kraft's patch to fix some IPv6 copy/paste issues. He
|
|
reported to be getting infinite loops with the svn code.
|
|
|
|
2008-06-13 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* SF Bug Tracker [ 1984541 ]
|
|
ixmlDocumenttoString does not render the namespace tag.
|
|
Submitted By: Beliveau - belivo
|
|
|
|
Undoing the patch that fixed this problem. In fact, there was no
|
|
problem and the patch was wrong.
|
|
|
|
2008-06-11 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* Ingo Hofmann's patch for "Content-Type in Subscription responses".
|
|
Adds charset="utf-8" attribute to the CONTENT-TYPE header line.
|
|
|
|
Hi,
|
|
|
|
I have found an inconsistency regarding the text/xml content-type
|
|
returned by libupnp. It looks like only subscription responses send
|
|
"text/xml" where all other messages contain "text/xml; charset="utf-8"".
|
|
Since I'm working on an DLNA device the latter behaviour is mandatory.
|
|
I changed the according lines in gena_device.c (see attached patch).
|
|
I'm not sure if it would be ok for other device to have the charset
|
|
field but it would help me a lot :)
|
|
|
|
Best regards,
|
|
Ingo
|
|
|
|
2008-06-04 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* SF Bug Tracker [ 1984541 ]
|
|
ixmlDocumenttoString does not render the namespace tag.
|
|
Submitted By: Beliveau - belivo
|
|
|
|
The problem occurs when converting a xml document using
|
|
ixmlDocumenttoString containing a namespace tag created with
|
|
ixmlDocument_createElementNS. The namespace tag doesn't get rendered.
|
|
|
|
example: The following code fragment prints:
|
|
|
|
<?xml version="1.0"?>
|
|
<root></root>
|
|
|
|
instead of:
|
|
<?xml version="1.0"?>
|
|
<root xmlns="urn:schemas-upnp-org:device-1-0"></root>
|
|
|
|
Code:
|
|
|
|
#include <stdlib.h>
|
|
#include <upnp/ixml.h>
|
|
|
|
int main()
|
|
{
|
|
IXML_Document* wDoc = ixmlDocument_createDocument();
|
|
IXML_Element* wRoot = ixmlDocument_createElementNS(wDoc,
|
|
"urn:schemas-upnp-org:device-1-0", "root");
|
|
ixmlNode_appendChild((IXML_Node *)wDoc,(IXML_Node *)wRoot);
|
|
DOMString wString = ixmlDocumenttoString(wDoc);
|
|
printf(wString);
|
|
free(wString);
|
|
ixmlDocument_free(wDoc);
|
|
|
|
return 0;
|
|
}
|
|
|
|
The problem was in the printing routine, not in the library data
|
|
structure.
|
|
|
|
2008-05-31 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* Charles Nepveu's suggestion of not allocating a thread for
|
|
MiniServer when it is not compiled.
|
|
|
|
2008-05-24 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* Ported Peter Hartley's patch to compile with mingw.
|
|
|
|
2008-05-24 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* Added some debug capability to ixml.
|
|
|
|
2008-05-02 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* Merged Charles Nepveu's IPv6 work. libupnp now is IPv6 enabled.
|
|
|
|
2008-02-06 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* Breaking API so that we now hide internal data structures.
|
|
|
|
2008-02-06 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* Rewrote Peter Hartley's patch to include a new extra header field in
|
|
FileInfo.
|
|
|
|
*******************************************************************************
|
|
Version 1.6.7
|
|
*******************************************************************************
|
|
|
|
2010-09-30 Fabrice Fontaine <fabrice.fontaine(at)orange-ftgroup.com>
|
|
|
|
Bug fix when there is no service in embedded devices
|
|
|
|
When a device with embedded devices (like IGD) when created and one of
|
|
the embedded devices did not have any service, there was a Segmentation
|
|
Fault (see SF Tracker [ 2688125 ]).
|
|
|
|
Original SF Tracker issue follows:
|
|
|
|
SF Tracker [ 2688125 ] v1.6.6 crashes on subdevices without services
|
|
Submitted by: Arno Willig ( akw ) - 2009-03-15 22:45:23 BRT
|
|
|
|
I discovered a bug, which will make libupnp (1.6.6) segfault, when you
|
|
create a upnp description document with multiple devices which have
|
|
subdevices, but no own services.
|
|
|
|
The crash occurs in genlib/service_table.c in line 977:
|
|
end->next =
|
|
getServiceList( currentDevice, &next_end, URLBase );
|
|
|
|
In this case "end" seems not to be defined, so end->next crashes.
|
|
|
|
Can anyone confirm this, please?
|
|
|
|
2010-09-28 Marc Essayan <marc.essayan(at)orange-ftgroup.com>
|
|
|
|
Bug fix on burst of GENA notification
|
|
|
|
When a lot of notifications were generated by a device in a short
|
|
period of time then 100% of the CPU was used to reorder those
|
|
notifications by pushing back the thread in the job queue. This
|
|
mechanism has been modified so now thread sleep 1 ms before being
|
|
pushed back into the job queue.
|
|
|
|
Removing DEFAULT_SCHED_PARAM parameter and use
|
|
sched_get_priority_min(DEFAULT_POLICY) instead.
|
|
|
|
2010-09-22 Fabrice Fontaine <fabrice.fontaine(at)orange-ftgroup.com>
|
|
|
|
Bug fix on M-SEARCH response
|
|
|
|
Devices must respond to M-SEARCH requests for any supported version and the
|
|
response should specify the same version as was contained in the search target.
|
|
Previously, the device did not answer if the M-SEARCH request did not
|
|
contain the same version number than the version number of the device.
|
|
|
|
2010-09-21 Fabrice Fontaine <fabrice.fontaine(at)orange-ftgroup.com>
|
|
|
|
Add Content-Language iff Accept-Language
|
|
|
|
Add Content-Language header in the response if and only if there is an
|
|
Accept-Language header in the request.
|
|
|
|
2010-09-21 Fabrice Fontaine <fabrice.fontaine(at)orange-ftgroup.com>
|
|
|
|
Addition of WEB_SERVER_CONTENT_LANGUAGE parameter
|
|
|
|
This patch adds the WEB_SERVER_CONTENT_LANGUAGE parameter so the user can specify
|
|
the language used by the device during Description and Presentation steps of UPnP
|
|
through the HTTP CONTENT-LANGUAGE header.
|
|
By default, the WEB_SERVER_CONTENT_LANGUAGE is an empty string so no
|
|
CONTENT-LANGUAGE is added.
|
|
|
|
2010-09-18 Fabrice Fontaine <fabrice.fontaine(at)orange-ftgroup.com>
|
|
|
|
Customize the stack size of the threads used by pupnp through the new
|
|
THREAD_STACK_SIZE variable.
|
|
|
|
This patch allows a user to customize the stack size of the threads used by
|
|
pupnp through the new THREAD_STACK_SIZE variable. This is especially useful
|
|
on embedded systems with limited memory where the user can set THREAD_STACK_SIZE
|
|
to ITHREAD_STACK_MIN.
|
|
|
|
However, as this modification can have side effects, I set 0 as the default
|
|
value, so threads will continue to use the default stack size of the system
|
|
(which varies greatly as stated in
|
|
https://computing.llnl.gov/tutorials/pthreads/).
|
|
|
|
2010-09-16 Fabrice Fontaine <fabrice.fontaine(at)orange-ftgroup.com>
|
|
|
|
Broken IPv6.
|
|
IPv6 is currently broken in latest release of branch-1.6.x, so find a
|
|
patch attached that correct the issue (small fixes on define, undef and
|
|
retVal).
|
|
|
|
2010-09-10 Warwick Harvey <warwick.harvey(at)tieto.com>
|
|
Patch to take notice of UPNP_USE_RWLOCK flag
|
|
|
|
The configure.ac file included with UPnP checks for the presence of the
|
|
pthread_rwlock_t type, and then sets the value of the UPNP_USE_RWLOCK
|
|
flag appropriately. However, this flag is not referenced at all in the
|
|
source code, and thus the code does not compile on systems that don't
|
|
have the pthread_rwlock_t type (such as Android).
|
|
|
|
Please find attached a patch (against the current 1.6.x head) that checks
|
|
the value of this flag and falls back on using mutexes if read-write
|
|
locks are not available.
|
|
|
|
2010-09-10 Jean Sigwald <jean.sigwald(at)orange-ftgroup.com>
|
|
I discovered a reliable denial-of-service issue on the last stable
|
|
release of libupnp (1.6.6) remotely triggerable by any
|
|
unauthenticated user. The issue is related with a bad parsing of
|
|
malformed XML.
|
|
|
|
2010-09-10 Chandra Penke <chandrapenke(at)mcntech.com>
|
|
* SF Patch Tracker [ 2854711 ] Patch for Solaris10 compilation and usage
|
|
Submitted By: zephyrus ( zephyrus00jp )
|
|
|
|
Patch for Solaris10 compilation and usage.
|
|
|
|
2010-09-10 Chandra Penke <chandrapenke(at)mcntech.com>
|
|
Add support for conditionally enabling ipv6.
|
|
|
|
2010-09-10 Chandra Penke <chandrapenke(at)mcntech.com>
|
|
Fix for compilation in debug builds.
|
|
|
|
Ensure internal methods are declared as static since debug builds don't inline.
|
|
|
|
2010-09-09 Chandra Penke <chandrapenke(at)mcntech.com>
|
|
Fix for regression in SSDP code to send/receive messages over UDP
|
|
|
|
Sending messages over UDP is broken in some Apple OSes
|
|
such as OS X and iOS. This might be broken in other OSes to but didn't
|
|
verify.
|
|
|
|
The fix is to modify the socket lenght argument of sendto to use the correct
|
|
sockaddr lenght dependng on whether the socket is IPV4 or IPV6.
|
|
|
|
Also added some error checks and debugging related to the issue
|
|
|
|
2010-09-07 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
Using UpnpReadHttpGet to download large files causes the application to
|
|
crash. This happens when the file being downloaded exceeds the device
|
|
memory - entirely possible when transferring video files.
|
|
The programmatic cause is that the logic implemented in the function
|
|
http_ReadHttpGet (which UpnpReadHttpGet calls) reads the entire file
|
|
into memory. The fix modifies the existing logic to discard data after
|
|
it's been read; there's no reason to keep it around since the caller
|
|
of UpnpReadHttpGet already has a copy of it.
|
|
|
|
This issue exists in 1.6.6 as well as the latest sources.
|
|
|
|
Patch submitted by Chandra (inactiveneurons).
|
|
|
|
2010-09-07 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
In the latest sources, http_RequestAndResponse and other methods that
|
|
use connect() are broken. More specifically, connect() in these methods
|
|
is returning with an EINVAL. The programatic cause is that the address_len
|
|
argument passed to connect() is different in IPV4 vs IPV6 (as described in:
|
|
http://www.opengroup.org/onlinepubs/009695399/functions/connect.html).
|
|
The current code always uses the IPV6 size. The fix modifies each use of
|
|
connect() to use the correct size based on the address family being used.
|
|
|
|
Patch submitted by Chandra (inactiveneurons).
|
|
|
|
2010-09-07 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
Fix compilation error in upnp/src/gena/gena_ctrlpt.c (this is most
|
|
likely an error on all platforms).
|
|
|
|
Patch submitted by Chandra (inactiveneurons).
|
|
|
|
2010-09-07 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
Fix compilation error in upnp/src/inc/ssdplib.h when compiling in OS X
|
|
(the netinet/* headers are not available).
|
|
|
|
Patch submitted by Chandra (inactiveneurons).
|
|
|
|
2010-09-07 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
Fix compilation error in ixml/inc/ixml.h when compiling with an
|
|
Objective-C compiler (when cross-compiling for iPhone devices).
|
|
|
|
Patch submitted by Chandra (inactiveneurons).
|
|
|
|
2010-08-21 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* Issue regarding the GENA notifications. A string termination indicator
|
|
was added at the end of the notification ("\r\n") in
|
|
notify_send_and_recv() in upnp/src/gena/gena_device.c.
|
|
Patch by Fabrice Fontaine.
|
|
|
|
2010-08-21 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* The last part of Ronan Menard's patch.
|
|
|
|
2010-08-21 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* upnp/src/ssdp/ssdp_device.c: Fix for IPV6 ULA/GUA issues.
|
|
* upnp/src/ssdp/ssdp_ctrlpt.c: Fix for IPV6 ULA/GUA issues.
|
|
* upnp/src/ssdp/ssdp_server.c: Fix for IPV6 ULA/GUA issues.
|
|
|
|
Patch submitted by Ronan Menard.
|
|
|
|
2010-08-21 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* upnp/src/genlib/miniserver/miniserver.c: Fix for IPV6 ULA/GUA issues.
|
|
|
|
Patch submitted by Ronan Menard.
|
|
|
|
2010-08-21 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* gena_subscribe(): Fix for IPV6 ULA/GUA issues.
|
|
|
|
Patch submitted by Ronan Menard.
|
|
|
|
2010-08-21 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* SOCKET ssdpSock6UlaGua: created variable for later use.
|
|
|
|
Patch submitted by Ronan Menard.
|
|
|
|
2010-08-21 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* SSDP_IPV6_SITELOCAL: new macro.
|
|
|
|
Patch submitted by Ronan Menard.
|
|
|
|
2010-08-21 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* The scope of the macro NUM_HANDLE is now restricted to upnpapi.c.
|
|
|
|
2010-08-21 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* InitHandleList() has never been implemented, I guess no one has ever
|
|
called it, so remove it.
|
|
* GetFreeHandle() and FreeHandle() are now static as they should.
|
|
|
|
2010-08-21 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* New internal buffer added to store global/ula IPV6 address.
|
|
* Macros to test whether an IPV6 address is global or ula.
|
|
* UpnpGetServerUlaGuaIp6Address(): added interface.
|
|
* IN6_IS_ADDR_GLOBAL, IN6_IS_ADDR_ULA: new macros.
|
|
* gIF_IPV6_ULA_GUA: new buffer.
|
|
* UpnpRegisterRootDevice3(): Change to the test of already registered
|
|
devices for IPV6.
|
|
* UpnpGetIfInfo(): gua/ula issues.
|
|
|
|
Patch submitted by Ronan Menard.
|
|
|
|
2010-08-19 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* libUPnP does support IPV6 now.
|
|
|
|
Patch submitted by Ronan Menard.
|
|
|
|
2010-08-19 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* HTTP version equal to 1.0 should fail as required by the UPnP
|
|
certification tool. Patch submitted by Ronan Menard.
|
|
|
|
2010-06-28 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
SF Bug Tracker [ 3022490 ] String declaration fix for patch applied in 3007407
|
|
Hello,
|
|
|
|
When my patch for tracker ID 3007407 was accepted, the definition of the
|
|
serviceList string was changed from
|
|
|
|
#define SERVICELIST_STR "serviceList"
|
|
|
|
to
|
|
|
|
static const char *SERVICELIST_STR = "serviceList";
|
|
|
|
During internal code review of the final patch, it was pointed out that
|
|
sizeof(SERVICELIST_STR) == 4 since SERVICELIST_STR is now declared as
|
|
a pointer instead of an array.
|
|
|
|
If you wish to use a variable instead of a define, I suggest the
|
|
following instead:
|
|
|
|
static const char SERVICELIST_STR[] = "serviceList";
|
|
|
|
Thanks,
|
|
Chuck Thomason
|
|
|
|
2010-06-10 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
SF Bug Tracker [ 3007407 ] Service traversal issue in AdvertiseAndReply()
|
|
Submitted: Chuck Thomason ( cyt4 ) - 2010-05-26 15:07:39 UTC
|
|
|
|
When the UPnP server is started, one alive message is broadcast for each
|
|
service in each device. It appears that libupnp's implementation of the
|
|
alive message generation does not correctly navigate the XML description
|
|
document when locating the services. This can result in the wrong UDN
|
|
being used in the alive message sent for a service.
|
|
|
|
In my specific case (see attached XML), the root EchoSTB device contains
|
|
no services, but its embedded MediaServer device contains 2 services.
|
|
When the existing libupnp code traverses the EchoSTB device in the XML,
|
|
it searches the global list of serviceLists within the document instead
|
|
of searching for a serviceList that is its direct child node. The
|
|
ContentDirectory and ConnectionManager services are then announced with
|
|
the UDN of EchoSTB1 (the root device) instead of with the UDN of
|
|
MediaServer, which is actually their parent device.
|
|
|
|
I discovered this behavior using libupnp-1.6.6. I have generated a patch
|
|
against branch-1.6.x that corrects the XML navigation such that all
|
|
services are traversed from their parent device, which results in the
|
|
correct UDN being sent in the alive message for each service. I built
|
|
from branch-1.6.x without this patch, tested, and confirmed that the
|
|
issue still exists as I observed it in libupnp-1.6.6. I then built
|
|
from branch-1.6.x with this patch, tested, and confirmed that the
|
|
issue was resolved.
|
|
|
|
Thanks,
|
|
Chuck Thomason
|
|
|
|
2010-05-07 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
SF Bug Tracker [ 2995758 ] libupnp 1.6.6, wrong bind when reuseaddr is
|
|
1.
|
|
Submitted: viallard anthony ( homer242 )
|
|
When trying to use reuseaddr option in miniserver/miniserver.c, there
|
|
isn't a affectation of the port chosen (serverAddr.sin_port isn't
|
|
receive listen_port variable value).
|
|
|
|
2010-04-25 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
Define PROTOTYPES to be one by default in global.h. This affects the
|
|
RSA MD5 code.
|
|
|
|
2010-03-27 Nick Leverton <nick@leverton.org>
|
|
Subscription auto-renewals copy the renewal time from old subscription.
|
|
|
|
2010-03-27 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* Added API to ithread, created the following functions:
|
|
- int ithread_initialize_library(void);
|
|
- int ithread_cleanup_library(void);
|
|
- int ithread_initialize_thread(void);
|
|
- int ithread_cleanup_thread(void);
|
|
* SF Bug Tracker [ 2876374 ] Access Violation when compiling with Visual Studio 2008
|
|
Submitted: Stulle ( stulleamgym ) - 2009-10-10 19:05
|
|
|
|
Hi,
|
|
|
|
I am one of the devs of the MorphXT project and I use this lib in some
|
|
other of my projects, too. When I tried to upgrade the lib earlier for one
|
|
of my projects I had to realise that something did not work at first and
|
|
while most of the things were reasonably ease to be fixed. Now, the last
|
|
thing I encountered was not so easy to fix and I am uncertain if my fix is
|
|
any good so I'll just post it here and wait for some comments.
|
|
|
|
The problem was that I got an Access Violation when calling "UpnpInit". It
|
|
would call "ithread_rwlock_init(&GlobalHndRWLock, NULL)" which eventually
|
|
led to calling "pthread_cond_init" and I got the error notice at
|
|
"EnterCriticalSection (&ptw32_cond_list_lock);". It appeared that
|
|
"ptw32_cond_list_lock" was NULL. Now, I found two ways to fix this. Firstly
|
|
moving the whole block after at least one of the "ThreadPoolInit" calls
|
|
will fix the issue. Secondly, you could add:
|
|
#ifdef WIN32
|
|
#ifdef PTW32_STATIC_LIB
|
|
// to get the following working we need this... is it a good patch or
|
|
not... I do not know!
|
|
pthread_win32_process_attach_np();
|
|
#endif
|
|
#endif
|
|
right before "ithread_rwlock_init(&GlobalHndRWLock, NULL)".
|
|
|
|
Just so you know, I am using libupnp 1.6.6 and libpthreads 2.8.0 and both
|
|
are linked static into the binaries. I am currently using Visual Studio
|
|
2008 for development with Windows being the target OS. Any comment at your
|
|
end?
|
|
|
|
Regards, Stulle
|
|
|
|
2010-03-27 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* SF Patch Tracker [ 2836704 ] Patch for Solaris10 compilation and usage.
|
|
Submitted By: zephyrus ( zephyrus00jp )
|
|
This second part covers the issue on linking with -lsocket -lnsl -lrt.
|
|
|
|
2010-03-21 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* SF Bug Tracker [ 2392166 ] ithread_detach not called for finished worker thread
|
|
Submitted: Ulrik ( ulsv_enea ) - 2008-12-05 08:24
|
|
|
|
Valgrind reports a memory leak due to that the function ithread_detach is
|
|
not called for finished worker threads in ThreadPool.c.
|
|
|
|
==21137== 2,176 bytes in 8 blocks are possibly lost in loss record 5 of 5
|
|
==21137== at 0x4C20F3F: calloc (vg_replace_malloc.c:279)
|
|
==21137== by 0x4010F58: _dl_allocate_tls (in /lib/ld-2.6.1.so)
|
|
==21137== by 0x544BA92: pthread_create@@GLIBC_2.2.5 (in
|
|
/lib/libpthread-2.6.1.so)
|
|
==21137== by 0x5F94592: CreateWorker (ThreadPool.c:639)
|
|
==21137== by 0x5F95079: ThreadPoolInit (ThreadPool.c:784)
|
|
|
|
I'm using libupnp 1.6.6
|
|
|
|
For more info on pthread_detach, see:
|
|
http://gelorakan.wordpress.com/2007/11/26/pthead_create-valgrind-memory-lea
|
|
k-solved/
|
|
|
|
2010-03-21 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* SF Bug Tracker [ 2392304 ] Memory leak in SSDP AdvertiseAndReply
|
|
Submitted: Ulrik ( ulsv_enea ) - 2008-12-05 08:24
|
|
|
|
Valgrind reports a memory leak function in AdvertiseAndReply
|
|
(ssdp/ssdp_server.c) in libupnp 1.6.6
|
|
|
|
There are continue statements in many places in AdvertiseAndReply. In some
|
|
of those error handling cases the variable nodelist is not free'ed before
|
|
continuing to the next iteration. The next iteration will take care of
|
|
free'ing the nodelist from the previous iteration in most cases, but not
|
|
when breaking out of the for loop after the last element.
|
|
|
|
I belive this memory leak can be solved by makeing sure that the rows
|
|
|
|
ixmlNodeList_free( nodeList );
|
|
nodeList = NULL;
|
|
|
|
are always executed, also in the beginning of the last iteration when we
|
|
found out that there are not more elements.
|
|
|
|
==29110== at 0x4C21C16: malloc (vg_replace_malloc.c:149)
|
|
==29110== by 0x5D8DE0E: ixmlNodeList_addToNodeList (nodeList.c:106)
|
|
==29110== by 0x5D8B7E2: ixmlNode_getElementsByTagNameRecursive
|
|
(node.c:1438)
|
|
==29110== by 0x5D8E587: ixmlElement_getElementsByTagName
|
|
(element.c:491)
|
|
==29110== by 0x5B6C0F1: AdvertiseAndReply (ssdp_server.c:201)
|
|
==29110== by 0x5B7AB74: UpnpSendAdvertisement (upnpapi.c:1495)
|
|
|
|
2010-03-21 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* libupnp and multi-flows scenario patch
|
|
Submited by Carlo Parata from STMicroelectronics.
|
|
|
|
Hi Roberto and Nektarios,
|
|
after an analysis of the problem of libupnp with a multi-flows scenario, I
|
|
noticed that the only cause of the freezed system is the ThreadPool
|
|
management. There are not mutex problems. In practise, if all threads in the
|
|
thread pool are busy executing jobs, a new worker thread should be created if
|
|
a job is scheduled (I inspired to tombupnp library). So I solved the problem
|
|
with a little patch in threadutil library that you can find attached in this
|
|
e-mail. I hope to have helped you.
|
|
|
|
2010-03-21 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* SF Patch Tracker [ 2964973 ] install: will not overwrite just-created
|
|
...blah... with...
|
|
Submitted: Nick Leverton ( leveret ) - 2010-03-07 05:18
|
|
|
|
Full error:
|
|
/usr/bin/install: will not overwrite just-created
|
|
`/tmp/buildd/libupnp-1.6.6/debian/tmp/usr/share/doc/libupnp3-dev/examples/s
|
|
ample_util.c' with `common/sample_util.c'
|
|
|
|
This seems to be from Automake 1.11 which doesn't like having duplicate
|
|
files in a Makefile.am. Patch attached, kindly provided by Stefan Potyra
|
|
for Debian (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=543068)
|
|
|
|
This fix will be needed for both 1.6.x and 1.8.x branches.
|
|
|
|
2010-03-21 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* Backport of svn revision 504:
|
|
SF Patch Tracker [ 2969188 ] 1.8.0: patch for FreeBSD compilation
|
|
Submitted By: Nick Leverton (leveret)
|
|
Fix the order of header inclusion for FreeBSD.
|
|
|
|
2010-03-21 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* SF Patch Tracker [ 2836704 ] Patch for Solaris10 compilation and usage.
|
|
Submitted By: zephyrus ( zephyrus00jp )
|
|
Obs by Marcelo: The issue with linking with -lsocket -lnsl -lrt is not
|
|
covered in this changeset beacuse I don't have solaris to test. I will
|
|
need some help from zephyrus in this regard. The issue will be addressed
|
|
in a future changeset.
|
|
|
|
Compilation for solaris
|
|
|
|
I have used gcc3.x and gcc4.x under solaris 10 for x86 / 64 bits.
|
|
|
|
A couple of Source file fixes were necessary for successful compilation
|
|
and runtime behavior.
|
|
|
|
threadutil/src/ThreadPool.c
|
|
|
|
POSIX
|
|
sched_setschduler() returns non-negative value for success.
|
|
|
|
Without the fix, UpnpInit() fails immediately.
|
|
|
|
upnpp/src/api/upnpai.c
|
|
|
|
There is a typo of a macro name "__sun" in one of the
|
|
CPP conditional.
|
|
Without the fix, the compilation aborts due to unknown constant
|
|
in socket ioctl call.
|
|
|
|
A few structs and an array is not properly initialized.
|
|
Well, I think it may be safe as is, but when I checked it
|
|
using purify evaluation version, it was reported that
|
|
uninitizlied iszBuffer may cause read of uninitialized memory.
|
|
So play it safe.
|
|
|
|
Configure issue.
|
|
This has to be more of a configure magic.
|
|
To link a program successfully using network, we need
|
|
-lsocket and -lnsl library specifications on the link line.
|
|
We also need -lrt for programs that use thread scheduling features.
|
|
|
|
The sample program under upnp/sample requires
|
|
-lsocket -lnsl -lrt
|
|
for successful linking.
|
|
I added -lsocket -lnsl -lrt to Makefile.in.
|
|
configure probably needs to take care of these.
|
|
|
|
I don't know much about configure, automake, etc., so
|
|
I am just raising a flag here.
|
|
|
|
TIA
|
|
|
|
2010-03-20 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* SF Patch Tracker [ 2836704 ] Search for nested serviceList (not
|
|
stopping at the first lis
|
|
Submitted By: zephyrus ( zephyrus00jp )
|
|
|
|
Internet Gateway Device description contains nested serviceList (rootdevice
|
|
-> servicelist, subdevice
|
|
and subdevice has the lower-level serviceList, etc..)
|
|
|
|
Unfrotunately, the sample code sample_util.c used by tv_device sample,
|
|
etc.
|
|
has a code that looks for only the first top-level serviceList.
|
|
This results in the failure to read all the services of an IGD xml
|
|
description.
|
|
|
|
Attached patch modifies this behavior and looks for the service by
|
|
visiting all the serviceList in xml document in turn.
|
|
|
|
With the modified patch (ad additional modification), I could
|
|
simulate an IGD device and created a modified control program for that.
|
|
|
|
Patch against 1.6.6
|
|
|
|
TIA.
|
|
|
|
2010-03-15 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* SF Patch Tracker [ 2203721 ] timeb.h check obsolete
|
|
|
|
2010-03-15 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* SF Patch Tracker [ 2970872 ] Update ErrorMessages for latest return
|
|
code list
|
|
Submitted By: Nick Leverton ( leveret )
|
|
|
|
ErrorMessage[] in upnptools.c has got a bit out of sync, the attached
|
|
patch (generated from grep 'define UPNP_E_') should bring it up to date.
|
|
|
|
2010-03-15 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* SF Patch Tracker [ 2857611 ] Declare a few functions to have proper
|
|
(void) argument list.
|
|
Submitted By: zephyrus ( zephyrus00jp )
|
|
|
|
In a publicly installed headers, a few functions are declared without any
|
|
arguments at all, a la "()".
|
|
When I used gcc's -Wimplict and -Wstrict-prototypes to check for the
|
|
mismatch of
|
|
function prototype declarations and their usage in my own program,
|
|
some headers from libupnp-1.6.6 produced warnings.
|
|
|
|
They are not strictly bugs, but pretty much annoying. This is 2009, and
|
|
almost all the important compilers
|
|
understand ISO-C.
|
|
|
|
So the offending functions are declared as "(void") to show that they have
|
|
no arguments at all.
|
|
|
|
2010-03-14 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* SF Patch Tracker [ 2546532 ] Missing carriage return between
|
|
SOAPACTION and User-Agent headers.
|
|
|
|
There is something going wrong in soap_ctrlpt.c at line 931 (based on
|
|
version 1.6.6 release).
|
|
|
|
The http_Makemessage call looks as follows:
|
|
|
|
if (http_MakeMessage(
|
|
&request, 1, 1,
|
|
"Q" "sbc" "N" "s" "s" "Ucc" "sss",
|
|
SOAPMETHOD_POST, path.buf, path.length,
|
|
"HOST: ", host.buf, host.length,
|
|
content_length,
|
|
ContentTypeHeader,
|
|
"SOAPACTION:
|
|
\"urn:schemas-upnp-org:control-1-0#QueryStateVariable\"",
|
|
xml_start, var_name, xml_end ) != 0 ) {
|
|
return UPNP_E_OUTOF_MEMORY;
|
|
}
|
|
|
|
This will result in the SOAPACTION header to be immediately followed by the
|
|
User-Agent header, while a cr-lf should separate the two. I propose to fix
|
|
this by changing the second "s" to "sc" to force the addition of a cr-lf
|
|
after the SOAPACTION. This looks consistent to the other Makemessage calls.
|
|
|
|
2009-03-06 Oxygenic <oxygenic(at)users.sourceforge.net>
|
|
* parameter problem fixed in soap_request_and_response(), 2nd call to
|
|
http_RequestAndResponse() was wrong (thanks to Kim Kyungsan)
|
|
|
|
2008-07-25 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* Added upnp/m4/libupnp.m4 to the distribution tarball.
|
|
|
|
2008-07-25 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* Fixed a missing HandleUnlock() in upnp/src/gena/gena_device.c.
|
|
|
|
2008-07-24 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* SF Bug Tracker [ 2026431 ] pupnp does not build on GNU/KfreeBSD.
|
|
Submitted By: Nick Leverton - leveret
|
|
Gnu/KFreeBSD is one of the Debian architectures, it includes a FreeBSD
|
|
kernel with GNU userspace (glibc etc). The Gnu/KfreeBSD developers
|
|
provided the attached patch to test the appropriate #define and allow pupnp
|
|
to build in their environment, and asked me to forward it to you.
|
|
|
|
Since the test is a simple check for defined(__GLIBC__), this would
|
|
presumably also help with other ports of GNU libc to non-Linux kernels.
|
|
|
|
2008-07-16 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* Andre Sodermans (wienerschnitzel) patch for building libupnp under
|
|
windows systems with VC9. This one fixes a missing include.
|
|
|
|
2008-06-30 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* Added an m4 macro to deal with finding libupnp in the users'
|
|
configure script.
|
|
|
|
2008-06-11 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* Fixed a buffer overflow due to a bug in the calculation of the
|
|
CONTENT-TYPE header line size, the length was beeing calculated with
|
|
the wrong string, there was a missing colon.
|
|
|
|
2008-06-02 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* SF Bug Tracker [ 1942285 ]
|
|
UpnpCreatePropertySet can leak memory.
|
|
Submitted By: Bob Ciora - bobciora
|
|
|
|
In file upnp/src/api/upnptools.c, function UpnpCreatePropertySet can leak
|
|
memory if no additional arguments are passed. This is because of the
|
|
'return' statement at (or near) line 554.
|
|
|
|
The prior call to ixmlParseBufferEx may succeed. This causes a basic ixml
|
|
tree to be created. The return statement at line 554 leaves this tree in
|
|
memory without cleaning it up.
|
|
|
|
There are two options: either add code prior to the return at 554 to clean
|
|
up the tree, or simply allow a NumArg parameter of 0 to be passed.
|
|
|
|
I prefer the second method -- there doesn't seem to be any need to pass
|
|
*any* arguments to this function.
|
|
|
|
In my local copy of upnptools.c, I have simply replaced the "return NULL"
|
|
in line 554 to "return PropSet".
|
|
|
|
I've attached the source file.
|
|
|
|
2008-05-26 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* SF Bug Tracker [ 1903069 ]
|
|
Subs (not services) not marked 'active'
|
|
Submitted By: Bob Ciora - bobciora
|
|
|
|
If the UpnpAcceptSubscription is not called, the subscription is not marked
|
|
as "active", so no state variables will ever be sent.
|
|
|
|
I have a "lazy" architecture where a service may not be ready to publish
|
|
any state data at the time of a subscription. Subscriptions are still
|
|
accepted, there's just nothing to send, so UpnpAcceptSubscription is never
|
|
called. As a result, the subscription is never marked as "active" via the
|
|
genaInitNotify functions.
|
|
|
|
A best course of action would be to modify UpnpAcceptSubscription<...>
|
|
functions so that they can accept *no* initial state information, but can
|
|
still result in the subscription being marked as active. Technically,
|
|
then, the "active" flag should be set here, not in the genaInitNotify<...>
|
|
functions.
|
|
|
|
But the UpnpAccept functions don't muck with the subscription table, and
|
|
it's more work than it's worth to move that code from the gena fucntions to
|
|
the upnpapi functions.
|
|
|
|
So--- what I've done to correct this problem is to modify both
|
|
UpnpAcceptSubscription<...> functions (in upnppapi.c) to accept an empty
|
|
state list and still call the gena layer functions. The gena layer
|
|
genaInitNotify<...> functions (gena_device.c) then mark the subscription as
|
|
"active" *before* checking for an empty state set.
|
|
|
|
In genaInitNotify, a check for "var_count <= 0" is added immediately after
|
|
the "subs->active = 1;" line. If this occurs, then all cleanup is
|
|
performed and the function returns GENA_SUCCESS (since now, an empty state
|
|
list is not an error). The same check is made for "PropSet == 0" in
|
|
genaInitNotifyExt (just after the "subs->active = 1;" line).
|
|
|
|
I've modifified my proxy layer to call UpnpAcceptSubscriptionExt even when
|
|
there is no state data to send. With the suggested changes to
|
|
gena_device.c, later state changes are sent correctly.
|
|
|
|
This has solved my problem.
|
|
|
|
2008-04-28 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
|
* Fix in function SetSeed() in threadutil/src/ThreadPool.c for CYGWIN
|
|
compilation. Thanks to Gary Chan.
|
|
|
|
*******************************************************************************
|
|
Version 1.6.6
|
|
*******************************************************************************
|
|
|
|
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
|
|
|