pupnp (libupnp) snapshot from SourceForge: git clone git://pupnp.git.sourceforge...
[igd2-for-linux:pandonghui1211s-igd2-for-linux.git] / pupnp_branch-1.6.x / ChangeLog
1 *******************************************************************************
2 Version 1.6.7
3 *******************************************************************************
4
5 2008-07-25 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
6         * Added upnp/m4/libupnp.m4 to the distribution tarball.
7
8 2008-07-25 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
9         * Fixed a missing HandleUnlock() in upnp/src/gena/gena_device.c.
10
11 2008-07-24 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
12         * SF Bug Tracker [ 2026431 ] pupnp does not build on GNU/KfreeBSD.
13         Submitted By: Nick Leverton - leveret
14         Gnu/KFreeBSD is one of the Debian architectures, it includes a FreeBSD
15         kernel with GNU userspace (glibc etc). The Gnu/KfreeBSD developers
16         provided the attached patch to test the appropriate #define and allow pupnp
17         to build in their environment, and asked me to forward it to you.
18
19         Since the test is a simple check for defined(__GLIBC__), this would
20         presumably also help with other ports of GNU libc to non-Linux kernels.
21
22 2008-07-16 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
23         * Andre Sodermans (wienerschnitzel) patch for building libupnp under
24         windows systems with VC9. This one fixes a missing include.
25
26 2008-06-30 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
27         * Added an m4 macro to deal with finding libupnp in the users'
28         configure script.
29
30 2008-06-11 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
31         * Fixed a buffer overflow due to a bug in the calculation of the
32         CONTENT-TYPE header line size, the length was beeing calculated with
33         the wrong string, there was a missing colon.
34
35 2008-06-02 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
36         * SF Bug Tracker [ 1942285 ]
37         UpnpCreatePropertySet can leak memory.
38         Submitted By: Bob Ciora - bobciora
39
40         In file upnp/src/api/upnptools.c, function UpnpCreatePropertySet can leak
41         memory if no additional arguments are passed. This is because of the
42         'return' statement at (or near) line 554.
43
44         The prior call to ixmlParseBufferEx may succeed. This causes a basic ixml
45         tree to be created. The return statement at line 554 leaves this tree in
46         memory without cleaning it up.
47
48         There are two options: either add code prior to the return at 554 to clean
49         up the tree, or simply allow a NumArg parameter of 0 to be passed.
50
51         I prefer the second method -- there doesn't seem to be any need to pass
52         *any* arguments to this function.
53
54         In my local copy of upnptools.c, I have simply replaced the "return NULL"
55         in line 554 to "return PropSet".
56
57         I've attached the source file.
58
59 2008-05-26 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
60         * SF Bug Tracker [ 1903069 ]
61         Subs (not services) not marked 'active'
62         Submitted By: Bob Ciora - bobciora
63
64         If the UpnpAcceptSubscription is not called, the subscription is not marked
65         as "active", so no state variables will ever be sent.
66
67         I have a "lazy" architecture where a service may not be ready to publish
68         any state data at the time of a subscription. Subscriptions are still
69         accepted, there's just nothing to send, so UpnpAcceptSubscription is never
70         called. As a result, the subscription is never marked as "active" via the
71         genaInitNotify functions.
72
73         A best course of action would be to modify UpnpAcceptSubscription<...>
74         functions so that they can accept *no* initial state information, but can
75         still result in the subscription being marked as active. Technically,
76         then, the "active" flag should be set here, not in the genaInitNotify<...>
77         functions.
78
79         But the UpnpAccept functions don't muck with the subscription table, and
80         it's more work than it's worth to move that code from the gena fucntions to
81         the upnpapi functions.
82
83         So--- what I've done to correct this problem is to modify both
84         UpnpAcceptSubscription<...> functions (in upnppapi.c) to accept an empty
85         state list and still call the gena layer functions. The gena layer
86         genaInitNotify<...> functions (gena_device.c) then mark the subscription as
87         "active" *before* checking for an empty state set.
88
89         In genaInitNotify, a check for "var_count <= 0" is added immediately after
90         the "subs->active = 1;" line. If this occurs, then all cleanup is
91         performed and the function returns GENA_SUCCESS (since now, an empty state
92         list is not an error). The same check is made for "PropSet == 0" in
93         genaInitNotifyExt (just after the "subs->active = 1;" line).
94
95         I've modifified my proxy layer to call UpnpAcceptSubscriptionExt even when
96         there is no state data to send. With the suggested changes to
97         gena_device.c, later state changes are sent correctly.
98
99         This has solved my problem.
100
101 2008-04-28 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
102         * Fix in function SetSeed() in threadutil/src/ThreadPool.c for CYGWIN
103         compilation. Thanks to Gary Chan.
104
105 *******************************************************************************
106 Version 1.6.6
107 *******************************************************************************
108
109 2008-04-24 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
110         * Added thread id's to the UpnpPrintf debug messages. Thanks to
111         Charles Nepveu for the idea.
112
113 2008-04-24 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
114         *  SF Bug Tracker [ 1948586 ]
115         Uppercase U in in "xmlns:U" in Invoke Action causes seg. f.
116         Submitted By: Thomas Norheim - kjakan_no
117         Device no longer segfaults with the following malformed xml action:
118         <u:SetColor xmlns:U="urn:schemas-upnp-org:service:tvpicture:1">
119                 <Color>2</Color>
120         </u:SetColor>
121
122 2008-04-23 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
123         * Use -O0 in debug builds so that variables do not get optimized out.
124
125 2008-04-10 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
126         * Apostolos Syropoulos changes for OpenSolaris x86.
127
128 2008-03-20 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
129         * Andre Sodermans (wienerschnitzel) patch for building libupnp under
130         windows systems with VC9.
131
132 2008-03-20 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
133         * Andre Sodermans (wienerschnitzel) patch for building libupnp under
134         windows systems with VC8.
135
136 2008-03-08 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
137         * Fixed a printf format problem on the upnp_tv_device.c from both
138         upnp/sample/tvdevie and upnp/sample/tvcombo directories. The variable
139         port was a short int instead of an unsigned short and it was beeing
140         print as a negative value.
141
142 2008-03-08 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
143         * SF Bug Tracker [ 1902668 ] Cannot compile on MSVC
144         Submitted By Luke Kim - nereusuj
145         Version 1.6.5 cannot be compiled because of some changes in 1.6.3.
146         MSVC does not support stdint.h, gettimeofday(), sys/param.h, const int
147         variables in array size and Windows does not define _WINDOWS_ but define
148         _WINDOWS.
149         * MSVC does not understand "const int"'s as declarators of array
150         dimensions, we must use #define'd constants.
151         * Use WIN32 instead of _WINDOWS_ or _WINDOWS.
152
153 2008-02-22 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
154         * No longer ignore "upnp:rootdevice" advertisement. Thanks to Bob Ciora.
155
156 2008-02-10 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
157         * Changed "sys_errlist[errno]", which is deprecated, by
158         "strerror_r()", which is thread safe.
159
160 2008-02-06 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
161         * Slightly improved error report by showing the sys_errlist string
162         corresponding to errno.
163
164 2008-02-06 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
165         * Got rid of two useless constants: UPNP_SOCKETERROR and
166         UPNP_INVALID_SOCKET. They both mean the same, that a network API
167         function has failed. -1 is the value to check, not an invented constant.
168
169 *******************************************************************************
170 Version 1.6.5
171 *******************************************************************************
172
173 2008-02-02 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
174         * Peter Hartley's fix for wrong sized variable beeing passed to
175         http_MakeMessage() on 64 bit architectures.
176
177
178 *******************************************************************************
179 Version 1.6.4
180 *******************************************************************************
181
182 2008-01-23 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
183         * Workaround for a problem with the new automake AM_CONDITIONAL macro
184         from autotools-1.10. Thanks to Ingo Hofmann for helping with debugging
185         this one.
186
187 2008-01-22 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
188         * Added quoting to macros AC_CONFIG_AUX_DIR, AC_CONFIG_MACRO_DIR and
189         AC_CONFIG_SRCDIR in configure.ac. Also changed the name of the
190         auxiliary directory in AC_CONFIG_AUX_DIR to build-aux.
191
192 2008-01-22 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
193         * Fix for setsockopt() in Threadpool.c to allow more than one process
194         to join the multicast-group on OSX. Thanks to Ingo Hofmann.
195
196 2008-01-22 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
197         * Using defined(__OSX__) || defined(__APPLE__) instead of just
198         defined(__OSX__) in the code. Thanks to Ingo Hofmann and Chris
199         Pickel.
200
201 2008-01-21 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
202         * Fix for isFileInVirtualDir. Thanks to Peter Hartley for the patch.
203
204 2008-01-07 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
205         * Putting back a "defined(__OSX__)" that has been removed in the
206         previous *BSD patch. Thanks to Chris Pickel for pointing it out.
207
208 2008-01-07 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
209         * SF Patches Tracker [ 1865812 ] typo in docs comment
210         Submitted By: Hartmut Holzgraefe - hholzgra
211         typo in docs comment ACCAPTED instead of ACCEPTED in
212         @name UPNP_E_UNSUBSCRIBE_UNACCAPTED [-302]
213         Also, the documentation file name was mispelled and was corrected in
214         the Makefile.am.
215
216 *******************************************************************************
217 Version 1.6.3
218 *******************************************************************************
219
220 2007-12-25 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
221         * Using pthread flags for the whole project, not just at the places
222         individually indicated by several Makefile.am files spread all over
223         the directories. That was too much error prone.
224
225 2007-12-24 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
226         * Added a configure test to check if pthread_rwlock_t is available.
227         Define _GNU_SOURCE if needed. The fallback behaviou will only be
228         implemented if _GNU_SOURCE prooves to be insufficient on some
229         platforms. Thanks to Jonathan Casiot (no_dice) and Robert Gingher
230         (robsbox).
231
232 2007-12-17 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
233         * Removed unused iasnprintf.{c,h} files.
234
235 2007-12-17 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
236         * Removed STATSONLY() macro from ThreadPool.{c,h}.
237         * Removed time() usage from ThreadPool.c.
238         * Fixed STATS = 0 compilation.
239
240 2007-12-16 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
241         * Library was not compiling on FreeBSD 7. Code now no longer uses
242         ftime(), using gettimeofday() instead. Thanks to Josh Carroll.
243
244
245 *******************************************************************************
246 Version 1.6.2
247 *******************************************************************************
248
249 2007-12-10 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
250         * Fixed a compilation error due to a missing #ifdef in
251         upnp/src/genlib/miniserver/miniserver.c. Thanks to Eugene Christensen.
252
253 2007-11-12 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
254         * "make check" was failing because ixml/test/test_document.sh did not
255         have the executable flag set. Thanks to Steve Bresson.
256
257 2007-11-12 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
258         * Fixed a memory leak in upnpapi.c to delete gMiniServerThreadPool in
259         the call to UpnpFinish(). Thanks to Fabrice Fontaine.
260
261 2007-11-09 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
262         * Added a isleep() call to the error handler of select() in
263         RunMiniServer(), so that it does not take 100% cpu in case select()
264         fails repeatedly.
265
266 *******************************************************************************
267 Version 1.6.1
268 *******************************************************************************
269
270 2007-11-07 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
271         * SF Bug Tracker [ 1825278 ] AdvertiseAndReply sleeps with handle lock out
272         Applied patch from Alex (afaucher) to change some write locks to read
273         locks.
274
275 2007-11-06 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
276         * Adjusting libtool library numbers to reflect the last changes.
277
278 2007-11-06 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
279         * SF Bug Tracker [ 1825278 ] AdvertiseAndReply sleeps with handle lock out
280         GlobalHndMutex, which was a mutex is now GlobalHndRWLock, which is a
281         rwlock. HandleLock() is mapped to HandleWriteLock() while all other
282         instances have not been checked. One instance in AdvertiseAndReply()
283         has been changed to HandleReadLock(). Thanks to Alex (afaucher) for the 
284         bug report and suggestions.
285
286 2007-11-06 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
287         * Added support for rwlocks.
288
289 2007-11-05 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
290         * SF Bug Tracker [ 1825929 ] woker thread still alive after UpnpFinish()
291         Submitted By: Luke Kim - nereusuj
292         Worker thread still alive after calling UpnpFinish() because
293         ThreadPoolShutdown() is in the #ifdef DEBUG block.
294         421
295         422 #ifdef DEBUG
296         423 ThreadPoolShutdown( &gSendThreadPool );
297         424 ThreadPoolShutdown( &gRecvThreadPool );
298
299 2007-08-28 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
300         * Changed the calls to virtualDirCallback.open(filename, UPNP_WRITE)
301         to (virtualDirCallback.open)(filename, UPNP_WRITE) (notice the
302         parenthesis) due to a change in glibc that produces compilation
303         errors.
304
305 2007-08-28 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
306         * Initialization of the "randomness" struct so that valgrind does not
307         complain.
308
309 2007-08-06 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
310         * Merge of patch submitted By Keith Brindley - brindlk
311         SF Bug Tracker [ 1762758 ] Seek not working for large files
312         Problem:
313         Requests from the uPnP client to seek to a position beyond 2GB in a large
314         file are handled as a request to see from the 2GB point.
315
316         Impact:
317         Varies depending on client. The Xbox 360 kills the connection when it
318         realises.
319
320         Solution:
321         GetNextRange function (webserver.c) is updated to handle large file sizes.
322         Fix should also recognise when built on a 32bit platform rather than 64 and
323         handle accordingly.
324
325 2007-08-05 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
326         * Merge of Mac OS X patch from Stéphane Corthésy (davelopper),
327         SF Bug Tracker [ 1686420 ] Modifications for MacOSX.
328         Some of the proposed changes were already done by Rene Hexel's patch.
329
330 *******************************************************************************
331 Version 1.6.0
332 *******************************************************************************
333
334 2007-06-10 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
335         * More fixes to Mac OS X and NetBSD from Rene Hexel:
336         [pupnp-devel] NetBSD & Mac OS X packages and patches
337
338           Okay, I found a couple more things.  I have attached a patch file
339         against the trunk (version 206) that make the repository code compile
340         and run on both Mac OS X and NetBSD.
341
342         This fixes the following issues:
343
344            upnp/src/api/upnpapi.c: SIOCGIFCONF didn't work properly, use
345         getifaddrs() instead (on BSD systems).
346
347           threadutil/src/ThreadPool.c: priorities only work if
348         _POSIX_PRIORITY_SCHEDULING is defined (and greater than 0).
349
350           threadutil/src/LinkedList.c and threadutil/src/iasnprintf.c: use
351         stdlib.h instead of malloc.h on all BSD systems (not just FreeBSD).
352         This is important, because malloc.h does not exist on Darwin/Mac OS X.
353
354           Cheers
355               ,
356            Rene
357
358 2007-06-09 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
359         * [pupnp-devel] NetBSD & Mac OS X packages and patches.
360         Rene Hexel's <rh@netbsd.org> patch to compile in NetBSD and Mac OS X.
361
362 2007-05-26 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
363         * Updated the macro files acx_pthread.m4, ax_cflags_gcc_option.m4,
364         ax_cflags_warn_all.m4, m4/ax_cflags_warn_all_ansi.m4,
365         m4/type_socklen_t.m4.
366
367 2007-05-26 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
368         * Fixed an issue with the instalation of the file upnpdebug.h. Since
369         the last modifications that removed the macro DEBUV_ONLY, this file
370         must be installed even on a non-debug build.
371
372 2007-05-26 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
373         * SF Bug Tracker [ 1711325 ] Bad DestAddr in Upnp_Discovery structure
374         Submitted By: Bob Ciora
375         The field DestAddr of the structure Upnp_Discovery is now a full
376         SOCKADDRIN instead of a pointer to SOCKADDRIN. Commented code sugests
377         that in a previous moment, the function ssdp_handle_ctrlpt_msg() did
378         not use a postponed thread to call ctrlpt_callback(). Now the code
379         uses a thread, and most probably the original data would get lost and
380         the pointer would point to an invalid memory region. This fix caused
381         an interface change in the library and the minor library version was
382         bumped. Also, the libtool library numbers were changed accordingly.
383
384 *******************************************************************************
385 Version 1.4.7
386 *******************************************************************************
387
388 2007-05-26 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
389         * Added support for the Basic Device
390         (http://www.upnp.org/standardizeddcps/basic.asp) as suggested by
391         Titus Winters.
392
393 2007-05-25 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
394         * Fixed the file libupnp.pc.in to generate a correct path for the
395         include files.
396
397 2007-05-25 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
398         * Removing the Dbg_Level, InitLog, SetLogFileNames and CloseLog
399         defines. These were just aliases, no reason to keep them.
400
401 2007-05-25 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
402         * Changed the comments of the include files that expose the UPnP API
403         to use only C89 comments and no C99 comments.
404
405 2007-05-24 Nektarios K. Papadopoulos <npapadop(at)inaccessnetworks.com>
406         * Added tvcombo sample that demonstrates coexistence of a device and a
407         control point in the same application.
408
409 2007-05-24 Nektarios K. Papadopoulos <npapadop(at)inaccessnetworks.com>
410         * SF Tracker FR [ 1570020 ].
411         * Enable both device and control point in the same application. Resolve
412         deadlock in the SSDP processing threads.
413         * Fix Threadpool expansion condition.
414         Thanks to Siva Chandran P. for the original patch.
415
416 2007-05-24 Nektarios K. Papadopoulos <npapadop(at)inaccessnetworks.com>
417         * Modified tvdevice (control and picture) service descriptions to make
418         compatible with WinXP/IE control point. 'in' arguments must appear before
419         'out' arguments in argument list.
420         Thanks to Martin Tremblay for pointing out the solution originally provided
421         by MORIOKA Yasuhiro.
422
423 2007-05-21 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
424         * More MSVC fixes, using XINLINE instead of inline, MSVC has troubles
425         with inline. Thanks to David Maass for reporting.
426         * Changed XINLINE to UPNP_INLINE.
427
428 2007-05-21 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
429         * Added the file build/inc/msvc/inttypes.h. This file is for use with
430         MSVC only, because it does not provide C99 compatibility.
431
432 2007-05-18 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
433         * Removed all uses of the DEVICEONLY(x) macro.
434
435 2007-05-17 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
436         * Removed all uses of the DBGONLY(x) macro. A static inline empty
437         function now is used and the compiler takes care of optimizing it out.
438
439 2007-05-17 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
440         * Fixed a bug in UpnpPrintf, function could call va_start() and return
441         befor calling va_end().
442
443 2007-05-15 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
444         * EXPORT_SPEC missing on some declarations in ixml/inc/ixml.h.
445         Thanks to David Maass.
446
447 2007-05-15 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
448         * sizeof is unsigned, so %zu is more adequate than %zd.
449
450 2007-05-15 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
451         * Using an invented printf directive PRIzu that on MSVC
452         expands to "lu", and on normal C99 compilers expands to "zu".
453
454 2007-05-15 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
455         * Rewrote raw_find_str. Now it no longer uses strcasestr(), but it
456         transforms the first input buffer into lowercase.
457
458 2007-05-08 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
459         * Fix for debug printf format strings. size_t are not expected
460         in a string format like "%.*s".
461
462 2007-05-08 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
463         * Added inttypes.h as a header requirement in configure.ac.
464
465 2007-05-11 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
466         * Moved upnp_tv_ctrlpt and upnp_tv_device executables from folder
467         upnp to folder upnp/sample. Moved folder upnp/sample/tvdevice/web
468         to folder upnp/sample/web. This way, if someone compiles the
469         tarball and executes upnp_tv_device from its creation directory,
470         there will be no error -108 for not finding directory web.
471
472 *******************************************************************************
473 Version 1.4.6
474 *******************************************************************************
475
476 2007-04-19 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
477         * Fix for freebsd host_os in configure.ac.
478
479 *******************************************************************************
480 Version 1.4.5
481 *******************************************************************************
482
483 2007-04-19 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
484         * Case insensitive comparison in raw_find_str() (httpparser.c) as
485         suggested by Craig Nelson in SF Tracker [ 1689382 ] DLINK DIR-625
486         patch.
487
488 2007-04-07 Nektarios K. Papadopoulos <npapadop(at)inaccessnetworks.com>
489         * Fix for a bug in makeAction where va_arg was beeing called one
490         extra time.
491
492 2007-04-28 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
493         * SF Tracker [ 1703533 ] Patch to make it compile under FreeBSD
494         Submitted By: Timothy Redaelli - drittz
495         I made some patches to make it compile under FreeBSD using
496         gethostbyaddr_r when supported.
497
498 2007-04-28 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
499         * [pupnp-devel] Type mixup on x86_64 causes UPNP_E_OUTOF_MEMORY
500         Submitted By: Glen Masgai
501         after an UpnpSendActionAsync() for example, i get UPNP_E_OUTOF_MEMORY
502         in the callback using 1.4.4 on a x86_64 system. This happens in
503         http_MakeMessage(), which in some cases get called with wrong types
504         (int instead of size_t) in combination with format "b" and "Q".
505         The attached patch should fix this.
506
507 *******************************************************************************
508 Version 1.4.4
509 *******************************************************************************
510
511 2007-04-06 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
512         * SF Tracker [ 1695399 ] Typo in util.h
513         Submitted By: Luke Kim - nereusuj
514         Unix sleep is in seconds but WIN32 Sleep is in milliseconds.
515
516 2007-04-17 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
517         * SF Tracker [ 1652827 ] UpnpRegisterRootDevice returned -104
518         Submitted By: Michael Andersen - miwer
519         
520         Issue was found to be related to sizeof (size_t) != sizeof (int)
521         on AMD64 systems. Emil Ljungdahl's AMD64 patch has been applied along
522         with some other fixes. Original user report follows:
523
524         When I run upnpd I get the above mentioned error (UPNP_E_OUTOF_MEMORY).
525         I've tried with 1.4.1 and 1.4.2-RC3, it's the same. I don't understand why,
526         because I have plenty of RAM, and I even tried closing some applications,
527         but it didn't help.
528
529         $ upnpd eth1 br0
530
531         The following is logged in the /var/log/messages:
532         Feb 6 01:33:47 server upnpd[6933]: Error registering the root device with
533         descDocUrl: http://192.168.0.1:49152/gatedesc.xml
534         Feb 6 01:33:47 server upnpd[6933]: UpnpRegisterRootDevice returned -104
535
536
537         I tried enabling debugging and it looks like it cannot allocate memory
538         through the membuffer_append function. It's wierd because it's only a few
539         bytes.
540
541         Please note, that I enabled some extra debugging lines that were commented,
542         in order to get more information. See attached files.
543
544 *******************************************************************************
545 Version 1.4.3
546 *******************************************************************************
547
548 2007-03-13 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
549         * SF Tracker [ 1663004 ] Compile on Cygwin
550         Submitted By: Jon Foster - jongfoster
551         This patch gives basic support for building under Cygwin - it compiles,
552         links, and a simple UPnP device application can initialise. I'm not sure
553         if it actually works yet, but this is definitely a step in the right
554         direction.
555         
556         Patch is against the 1.4.1 release. Changes are:
557         
558         * threadutil/inc/ithread.h: Fix the ithread mutex support to use
559         documented, portable APIs (if present) rather than the Non-Portable (_NP)
560         ones it uses now. This is required because Cygwin implements only the
561         portable API.
562         
563         * threadutil/src/ThreadPool.c: Fake SetPolicyType() to do nothing on Cygwin
564         because otherwise it fails. Should probably investigate why it fails and
565         add a proper implementation later.
566         
567         * upnp/src/api/upnpapi.c: On Cygwin, zero out the GlobalHndMutex structure
568         before initialising it. Without this, the initialisation fails. This
569         appears to be a bug in Cygwin.
570         
571         * upnp/src/genlib/net/uri/uri.c: Use gethostbyname() on Cygwin.
572         
573 2007-03-05 Oxy <oxygenic(at)users.sourceforge.net>
574         * Code adapted and typedefs added to compile cleanly under Windows
575         with Borland C++ Builder and MS Visual C++
576
577 2007-03-03 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
578         
579         * Fixed nasty segmentation fault bug on membuffer.c.
580         
581 *******************************************************************************
582 Version 1.4.2
583 *******************************************************************************
584
585 2007-02-09 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
586
587         * 32/64 bits portability issues on *printf.
588         Use %zd for size_t, and cast to (long long) for off_t.
589
590 2007-02-02 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
591
592         * Bumped the program version to 1.4.2 in config.ac.
593
594         * Now requires autoconf 2.60.
595
596         * Fixed docdir use.
597
598         * Does not install the documentation by default.
599
600         * Use dist-bzip2 to create a .bz2 distribution file.
601
602 2007-01-23 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
603
604         * SF Tracker [ 1634922 ] Support for large files (>= 2 GiB), part 2
605         Submitted By: Jonathan Casiot - no_dice
606         Summary: This patch hopefully fixes the remaining types and related
607         code to enable files >= 2 GiB to be streamed. Jonathan claims to have
608         tested this with a patched version of ushare-0.9.8 and a D-Link DSM-520.
609
610 2007-01-09 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
611
612         * SF Tracker [ 1628629 ] Multicast interface patch
613         Submitted By: Fredrik Svensson - svefredrik
614         This patch fixes two problems:
615         1) Specify the IP address for the interface when we do
616         setsockopt IP_ADD_MEMBERSHIP. This makes it possible to run
617         when no default router has been configured.
618         2) Explicitly set the multicast interface through setsockopt
619         IP_MULTICAST_IF. Avoids socket error -207 in some cases.
620         
621         * SF Tracker [ 1628590 ] XML parsing segfault patch
622         Submitted By: Fredrik Svensson - svefredrik
623         This patch fixes a segmentation fault problem that occurrs
624         when parsing XML code than some routers produce.
625
626 2007-01-06 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
627
628         * SF Tracker [ 1628552 ] XML white space patch
629         Submitted By: Fredrik Svensson - svefredrik
630         
631         * SF Tracker [ 1628562 ] Maximum total jobs patch
632         Submitted By: Fredrik Svensson - svefredrik
633         Also, I incremented the libray versions and included some
634         comments in the file configure.ac so that we do not bump
635         the library version excessively, only the necessary numbers
636         on the next release.
637         
638         * SF Tracker [ 1628575 ] Linksys WRT54G patch
639         Submitted By: Fredrik Svensson - svefredrik
640         
641         * SF Tracker [ 1628636 ] SSDP packet copy patch
642         Submitted By: Fredrik Svensson - svefredrik
643         Changed NUM_COPY to 1 since, according to section 9.2 of the
644         HTTPU/MU spec, we should never send more than one copy of a
645         reply to an SSDP request. Ref. section 9.2 of
646         http://www.upnp.org/download/draft-goland-http-udp-04.txt
647
648 2006-12-23 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
649
650         * Thorough revision of every call of http_MakeMessage() due to a
651         bug introduced in rev.79 "largefile patch added".
652         http_MakeMessage() has a worst than brain damaged "printf" like
653         interface. In rev.79, the "N" format parameter must be an off_t.
654         Every call of this function with an "N" format parameter and an
655         int passed on the stack would fail terribly.
656         
657         * SF Bug tracker [ 1590469 ]
658         Typo in ixmlparser.c
659         Submitted By: Erik Johansson - erijo
660         
661         * SF Bug Tracker [ 1590466 ] Invalid xml output
662         Submitted By: Erik Johansson - erijo
663         
664         * SF Patch tracker [ 1581161 ] VStudio2005 patch
665         Submitted By: David Maass - darkservant
666         
667         * SF Patch tracker [ 1587272 ] const-ified ixml
668         Submitted By: Erik Johansson
669         
670         * Finished const-ifications as suggested by Erik Johansson in
671         SF Patch tracker [ 1587272 ].
672
673 2006-07-05 Nektarios K. Papadopoulos <npapadop(at)inaccessnetworks.com>
674         * [bug-id] 1580440
675         [submitted-by] Erik Johansson - erijo
676         [patched-by] Erik Johansson - erijo
677         The SOAP HTTP message that's generated on upnp errors
678         is missing a \r\n\ between header and body.
679
680 2006-07-07 Oxy <virtual_worlds(at)gmx.de>
681
682         * support for large files (>2 GBytes) added
683
684
685 *******************************************************************************
686 Version 1.4.1
687 *******************************************************************************
688
689 2006-07-07 Oxy <virtual_worlds(at)gmx.de>
690
691         * full support for Windows added, static library and DLL are fully
692         working, code compiles with Borland Builder C++ and MS Visual
693         C/C++
694
695 2006-07-05 Nektarios K. Papadopoulos <npapadop(at)inaccessnetworks.com>
696
697         * Include prebuilt documentation (html,pdf), dropping doc++ 
698         dependancy.
699
700 2006-07-03 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
701
702         * Patch for FreeBSD, thanks to Markus Strobl.
703
704 2006-06-26 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
705
706         * Fix for missing "else" in httpreadwrite.c. Thanks to npapadop
707         for the patch.
708
709 2006-06-26 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
710
711         * Fix for va_list initialization in x86_64 architectures.
712
713 2006-06-08 Oxy <virtual_worlds(at)gmx.de>
714
715         * Patch to fix memory leaks and reasons for crashes added (thanks
716         to loigu)
717
718 *******************************************************************************
719 Version 1.4.0
720 *******************************************************************************
721
722 2006-05-26 Oxy <virtual_worlds(at)gmx.de>
723
724         * defines in iasnprintf.h changed to work with GCC-version < 3
725
726 2006-05-22 Oxy <virtual_worlds(at)gmx.de>
727
728         * BSD-patch added (not tested yet on an BSD system)
729
730 2006-05-19 Oxy <virtual_worlds(at)gmx.de>
731
732         * Patch added for bug: ixml parser colapsed on empty args (arg="")
733
734 2006-05-18 Oxy <virtual_worlds(at)gmx.de>
735
736         * DSM-320 patch added (fetched from project MediaTomb)
737         
738         * httpGet additons atch added, Added proxy support by introducing
739           UpnpOpenHttpGetProxy. UpnpOpenHttpGet now just calls
740           UpnpOpenHttpGetProxy with the proxy url set to NULL.
741           
742         * Bugfix for typo ("\0" / "0") in ixmlparser.c
743         
744         * Bugfix for M-Search packet
745
746 *******************************************************************************
747 FORK FROM DEAD libupnp
748 *******************************************************************************
749
750 2006-04-29  Rémi Turboult  <r3mi(at)users.sourceforge.net>
751
752         * THANKS: new file with list of contributors
753
754         * upnp/src/gena/gena_device.c (respond_ok): add 'Content-Length: 0'
755           in subscription response. Patch by Chaos (Bug # 1455367).
756
757 2006-04-08  Rémi Turboult  <r3mi(at)users.sourceforge.net>
758
759         * upnp/doc/UPnP_Programming_Guide.pdf: replace this document with 
760           the one in libupnp-doc-1.2.1 because current CVS version 
761           was corrupted.
762
763 2006-04-06
764
765         * changes applied to several files to work under Sparc Solaris, temporarily
766           requiring a define SPARC_SOLARIS
767
768 2006-04-03  Rémi Turboult  <r3mi(at)users.sourceforge.net>
769
770         * upnp/Makefile.am: install upnp samples in $(docdir)/examples
771
772 2006-03-28  Rémi Turboult  <r3mi(at)users.sourceforge.net>
773
774         * configure.ac: add --with-docdir option to choose where documentation
775           is installed (or -without-docdir to not install the documentation)
776
777 2006-03-27  Rémi Turboult  <r3mi(at)users.sourceforge.net>
778
779         * ixml/test: add simple test suite for xml parser
780
781 2006-03-26  Rémi Turboult  <r3mi(at)users.sourceforge.net>
782
783         * ixml/src/ixmlparser.c (Parser_processCDSect): fix bug which prevents
784           CDATA sections which contain a 0 (zero) to be parsed (instead the
785           parsing of the whole document is aborted). Patch by Arno Willig 
786           (Patch # 1432124).
787
788         * configure.ac, upnp/Makefile.am: add "--disable-samples" configure
789           option, and move samples compilation from check_PROGRAMS to
790           noinst_PROGRAMS
791
792 2006-03-25  Rémi Turboult  <r3mi(at)users.sourceforge.net>
793
794         * upnp/src/genlib/miniserver/miniserver.c (get_miniserver_sockets): 
795           fix bug if new socket created has fd 0 (can only occur when stdin
796           has been closed). Patch by Oskar Liljeblad 2004-07-02 :
797           http://sourceforge.net/mailarchive/message.php?msg_id=8870528
798         
799 2006-03-21  Rémi Turboult  <r3mi(at)users.sourceforge.net>
800
801         * upnp/test/test_init.c: add some version checks and exit if failure
802
803 2006-03-05  Rémi Turboult  <r3mi(at)users.sourceforge.net>
804
805         * libupnp version 1.3.1
806
807         * upnp/inc/upnpconfig.h.in: add new define UPNP_VERSION_PATCH
808
809         * upnp/test/test_init.c: add simple test to run during checks
810
811         * upnp/inc/upnp.h: include "upnpdebug.h" only if debug enabled
812           in the library (else header file is not installed)
813
814         * upnp/Makefile.am (libupnp_la_LDFLAGS): add inter-library libtool
815           dependencies between upnp and ixml / threadutil, so that programs 
816           linking against upnp only still work.
817
818 2006-03-04  Rémi Turboult  <r3mi(at)users.sourceforge.net>
819
820         * libupnp version 1.3.0
821
822 2006-03-03  Rémi Turboult  <r3mi(at)users.sourceforge.net>
823
824         * upnp/src/genlib/net/http/httpreadwrite.c (get_sdk_info): use
825           package version string from configure to set sdk info
826
827         * upnp/Makefile.am: add sample/tvdevice/web/ files in EXTRA_DIST
828           + do not distribute generated upnpconfig.h file.
829
830 2006-02-28  Rémi Turboult  <r3mi(at)users.sourceforge.net>
831
832         * upnp/src/inc/config.h, configure.ac: use only new defines
833           UPNP_HAVE_xx instead of INCLUDE_yyy_APIS and INTERNAL_WEB_SERVER
834
835         * upnp/Makefile.am, ixml/Makefile.am: add -export-symbols-regex to
836           the librarie LDFLAGS in order to export only the symbols defined 
837           in the API
838
839 2006-02-27  Rémi Turboult  <r3mi(at)users.sourceforge.net>
840
841         * configure.ac: add libtool versions for the 3 libraries
842
843         * ixml/src/ixml.c (copy_with_escape): add missing 'static' to function
844
845         * threadutil/src/ThreadPool.c (SetSeed): add missing 'static' 
846
847 2006-02-26  Rémi Turboult  <r3mi(at)users.sourceforge.net>
848
849         * threadutil/inc/iasnprintf.h: add gcc __printf__ format attribute
850           to "iasnprintf"
851
852         * upnp/src/api/upnpapi.c: fix invalid UpnpPrintf formats
853
854         * upnp/src/gena/gena_device.c: fix invalid UpnpPrintf formats
855
856         * upnp/src/inc/config.h: move upnp/inc/config.h to internal
857           sources (this file is no longer installed with the libraries)
858
859         * upnp/inc/upnpdebug.h: new file created from debug definitions
860           previously in upnp/inc/config.h
861
862         * upnp/src/api/config.c: rename to upnp/src/api/upnpdebug.c
863
864         * upnp/inc/upnpconfig.h.in: new file to contain information on    
865           the configuration of the installed libraries (generates installed
866           file <upnp/upnpconfig.h>)
867
868 2006-02-22  Rémi Turboult  <r3mi(at)users.sourceforge.net>
869
870         * upnp/ : add missing include of config.h in some .c files
871
872 2006-02-21  Rémi Turboult  <r3mi(at)users.sourceforge.net>
873
874         * upnp/inc/upnp.h: move some definitions which should not be
875           exported into "upnp/src/inc/util.h"
876
877         * import all modifications below from libupnp in djmount 0.51
878           into official libupnp
879         
880 2006-01-17  Rémi Turboult  <r3mi(at)users.sourceforge.net>
881
882         * threadutil/Makefile.am (libthreadutil_la_SOURCES): remove extraneous
883           file
884
885 2006-01-15  Rémi Turboult  <r3mi(at)users.sourceforge.net>
886
887         * configure.ac: add checks for large-file support
888
889         * upnp/inc/config.h: rename to "upnpconfig.h". The new "config.h" file
890           is the one generated by autoconf.
891
892         * m4/type_socklen_t.m4: added new check for socklen_t (fallback to
893           int if not defined)
894
895         * upnp/src/genlib/miniserver/miniserver.c, 
896           upnp/src/ssdp/ssdp_server.c: use socklen_t where appropriate 
897           (instead of int)
898
899         * upnp/src/genlib/net/http/httpreadwrite.c (get_sdk_info): remove
900           XINLINE declaration (unused and too late)
901
902         * ixml/src/node.c (ixmlNode_getNodeType): fix compilation warning
903           on const return type
904
905 2006-01-12  Rémi Turboult  <r3mi(at)users.sourceforge.net>
906
907         * upnp/src/inc/readwrite.h : suppress unused C++ header file
908
909 2006-01-11  Rémi Turboult  <r3mi(at)users.sourceforge.net>
910
911         * upnp/inc/config.h, upnp/src/inc/upnpapi.h, 
912           upnp/src/inc/httpreadwrite.h: remove internal configuration variable 
913           MINIMUM_DELAY (no clear purpose)
914
915 2005-12-05  Rémi Turboult  <r3mi(at)users.sourceforge.net>
916
917         * upnp/inc/upnp.h: re-declare obsolete method UpnpSetContentLength,
918           for binary compatibility with previous libupnp version.
919
920         * upnp/src/api/upnpapi.c: correct type of g_maxContentLength to size_t
921
922 2005-11-01  Rémi Turboult  <r3mi(at)users.sourceforge.net>
923
924         * autoconfiscate library : replace all makefiles by Makefile.am
925           for automake support, + preliminary autoconf support
926           (generated config.h not yet used in source files)
927
928 2005-10-18  Rémi Turboult  <r3mi(at)users.sourceforge.net>
929
930         * upnp/src/makefile: fix location of DEBUG STATIC libupnp library
931         
932         * upnp/sample/tvctrlpt/linux/Makefile, 
933           upnp/sample/tvdevice/linux/Makefile: fix STATIC library support
934
935 2005-10-16  Rémi Turboult  <r3mi(at)users.sourceforge.net>
936
937         * threadutil/src/Makefile (clean): remove built library
938
939 2005-08-28  Rémi Turboult  <r3mi(at)users.sourceforge.net>
940
941         * ixml/src/ixml.h, ixml/src/ixml.c (ixmlRelaxParser) : new function
942
943         * ixml/src/ixmlparser.h, ixml/src/ixmlparser.c (Parser_setErrorChar) :
944           new function
945
946 2005-08-02  Rémi Turboult  <r3mi(at)users.sourceforge.net>
947
948         * ixml/src/Makefile: correct bug for static library being incorrectly 
949           stripped when building non-debug
950
951 2005-06-09  Rémi Turboult  <r3mi(at)users.sourceforge.net>
952
953         * ixml/src/element.c (ixmlElement_removeAttributeNode): 
954           remove some compilation warning
955
956         * ixml/inc/ixml.h, ixml/src/document.c : 
957           add some missing const's in public API 
958
959         * upnp/inc/upnptools.h, upnp/src/api/upnptools.c : 
960           add missing const's in public API
961
962 2005-05-28  Rémi Turboult  <r3mi(at)users.sourceforge.net>
963
964         * upnp/inc/config.h: suppress HTTP_READ_BYTES (unused)
965           and replace by DEFAULT_SOAP_CONTENT_LENGTH (previously in upnpapi.h)
966         
967         * upnp/inc/upnp.h, upnp/src/api/upnpapi.c : replace 
968           UpnpSetContentLength (which was not using its Handle argument) 
969           by global function UpnpSetMaxContentLength. 
970           Remove "hard" limitation to 32K (not suitable for using in UPnP AV).
971         
972         * upnp/src/inc/upnpapi.h : removed DEFAULT_SOAP_CONTENT_LENGTH
973           (moved to config.h) and MAX_SOAP_CONTENT_LENGTH (now unused)
974
975         * upnp/src/api/upnptools.c : add more error message strings
976
977         * upnp/src/genlib/net/http/httpreadwrite.c : return OUTOF_BOUNDS
978           instead of BAD_HTTPMSG when allowed Content Length is exceeded.
979
980         * upnp/src/genlib/net/http/httpreadwrite.c : corrected an incorrect
981           sprintf format
982         
983 2005-05-27  Rémi Turboult  <r3mi(at)users.sourceforge.net>
984
985         * upnp/makefile, upnp/src/makefile, 
986           ixml/Makefile, ixml/src/Makefile, 
987           threadutil/Makefile, threadutil/src/Makefile : 
988           implement STATIC library support (from patch at 
989           http://sourceforge.net/tracker/?group_id=7189&atid=307189 )
990
991 2005-05-26  Rémi Turboult  <r3mi(at)users.sourceforge.net>
992
993         * upnp/src/api/upnpapi.c, upnp/src/soap/soap_device.c,
994           upnp/src/soap/makefile : 
995           corrections for compilation with CLIENT=1 only
996         
997         * importing "libupnp-1.2.1a" as baseline
998