Compare commits
	
		
			148 Commits
		
	
	
		
			branch-1.4
			...
			release-1.
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 84692a6e84 | ||
|   | 2a76749682 | ||
|   | e4bcf18599 | ||
|   | c856356414 | ||
|   | 6acffb7ede | ||
|   | 837f31bacd | ||
|   | 5151d45203 | ||
|   | 114389589d | ||
|   | b817ec5152 | ||
|   | d9de9a486c | ||
|   | 13ebb40e08 | ||
|   | b614c81e94 | ||
|   | 53766465a9 | ||
|   | 9bc187d4c6 | ||
|   | 80517f26a6 | ||
|   | 468cb2a908 | ||
|   | d71db4c57c | ||
|   | 947dfd9a85 | ||
|   | 8f7fd0fc6d | ||
|   | 81635d74c1 | ||
|   | d8ba182d85 | ||
|   | 0a41ee988b | ||
|   | 907eb0636a | ||
|   | 80fc7c3bb0 | ||
|   | 83fb96fbe2 | ||
|   | 4e1240a0a8 | ||
|   | 2c1dba2942 | ||
|   | 4ceb6c67d1 | ||
|   | 3fa207984a | ||
|   | b82c9c6009 | ||
|   | b1f6e83380 | ||
|   | 00a33f5788 | ||
|   | dfec187e88 | ||
|   | dee3e96a63 | ||
|   | 23e8160417 | ||
|   | 99e11d4fd5 | ||
|   | fb4e7f659d | ||
|   | 28799f26c9 | ||
|   | c1e5e4d6a4 | ||
|   | c0d9908afe | ||
|   | e80cc3ac64 | ||
|   | e04192e1d0 | ||
|   | bbe85ef599 | ||
|   | 5c0893928c | ||
|   | 948c959be5 | ||
|   | f8c4d81ee5 | ||
|   | 286a45d4ad | ||
|   | 59e0e015be | ||
|   | bdda54a66b | ||
|   | 41cb45146c | ||
|   | 2c2a5f7c18 | ||
|   | 047b9534bb | ||
|   | 88076a3c4b | ||
|   | c3060e0d0b | ||
|   | 2ac3819f8c | ||
|   | 0d451c9c8e | ||
|   | bbd16d75ed | ||
|   | a225d3b54e | ||
|   | 08834bf0f0 | ||
|   | e31fcce11d | ||
|   | dce8f71256 | ||
|   | 7a359f29e3 | ||
|   | ed9a594e73 | ||
|   | 039b5fdae6 | ||
|   | f07bcb749f | ||
|   | f64c539395 | ||
|   | cab8e4f799 | ||
|   | 2331839f69 | ||
|   | 363ac6e007 | ||
|   | 5c4e45fb4d | ||
|   | 436bc8fc6d | ||
|   | c6d3d63223 | ||
|   | ae7ca6a2cf | ||
|   | 9595ddcf3a | ||
|   | fd19d54144 | ||
|   | 17db87ab96 | ||
|   | 3b12ced1f8 | ||
|   | 4abbd5a8a4 | ||
|   | 836069f43b | ||
|   | 353a876a54 | ||
|   | 2bc6a1f8dd | ||
|   | 1d9e8712b7 | ||
|   | 819ad1f365 | ||
|   | e9e8ea5636 | ||
|   | 14f72e1442 | ||
|   | ae13c481a7 | ||
|   | 38a91fdaec | ||
|   | 87f336c940 | ||
|   | 74d2b0049b | ||
|   | 635d6ffa93 | ||
|   | 8c56f16607 | ||
|   | 5d3ef166c1 | ||
|   | a4072c19b1 | ||
|   | 1716c7a10d | ||
|   | 83782e8ae2 | ||
|   | f1cc7db79d | ||
|   | e69d5a8609 | ||
|   | 16637892e3 | ||
|   | d19a57c866 | ||
|   | 8c21b2c4d9 | ||
|   | 736efca5dd | ||
|   | d5449dc948 | ||
|   | 7c49b3b8a4 | ||
|   | 5c03ebe6e1 | ||
|   | d17eb5fcfc | ||
|   | 8625298899 | ||
|   | 864d3db0ad | ||
|   | 1d4d1ff87e | ||
|   | a26769b27b | ||
|   | fbbec55457 | ||
|   | 8245b0d808 | ||
|   | 815d08420a | ||
|   | 1d0ce01f31 | ||
|   | 947896bcee | ||
|   | 7ed934d858 | ||
|   | 4a7708331c | ||
|   | ab66940a89 | ||
|   | ebac5fe596 | ||
|   | 11de68d0e3 | ||
|   | dfe3071af4 | ||
|   | cd50cb678f | ||
|   | f13fd3d522 | ||
|   | 927b86545f | ||
|   | a155612cba | ||
|   | df3df9eaed | ||
|   | eefeb86a96 | ||
|   | 0452011b99 | ||
|   | a20707485d | ||
|   | ec86a6f92b | ||
|   | 89e7a40fcc | ||
|   | 90c3db2a96 | ||
|   | cf9ae4f6e5 | ||
|   | f28f81f820 | ||
|   | bcaba51f57 | ||
|   | 4c5b61dc55 | ||
|   | 9147c3517e | ||
|   | cbefc2ff49 | ||
|   | 863e743c41 | ||
|   | 26bde09028 | ||
|   | bc2941c2a7 | ||
|   | 40186d3e9c | ||
|   | 01d26f8f74 | ||
|   | b2cb458ee3 | ||
|   | 16da6980d1 | ||
|   | 211973749c | ||
|   | a22ba2f159 | ||
|   | 142929623d | ||
|   | 3170fbd730 | 
							
								
								
									
										112
									
								
								ChangeLog
									
									
									
									
									
								
							
							
						
						
									
										112
									
								
								ChangeLog
									
									
									
									
									
								
							| @@ -1,7 +1,57 @@ | ||||
| ******************************************************************************* | ||||
| Version 1.4.7 | ||||
| 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. | ||||
|  | ||||
| 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 | ||||
| @@ -364,14 +414,14 @@ Version 1.4.0 | ||||
| FORK FROM DEAD libupnp | ||||
| ******************************************************************************* | ||||
|  | ||||
| 2006-04-29  R<>mi Turboult  <r3mi(at)users.sourceforge.net> | ||||
| 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> | ||||
| 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  | ||||
| @@ -382,20 +432,20 @@ FORK FROM DEAD libupnp | ||||
| 	* 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> | ||||
| 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> | ||||
| 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> | ||||
| 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> | ||||
| 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 | ||||
| @@ -406,18 +456,18 @@ FORK FROM DEAD libupnp | ||||
| 	  option, and move samples compilation from check_PROGRAMS to | ||||
| 	  noinst_PROGRAMS | ||||
|  | ||||
| 2006-03-25  R<>mi Turboult  <r3mi(at)users.sourceforge.net> | ||||
| 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> | ||||
| 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> | ||||
| 2006-03-05  R<>mi Turboult  <r3mi(at)users.sourceforge.net> | ||||
|  | ||||
| 	* libupnp version 1.3.1 | ||||
|  | ||||
| @@ -432,11 +482,11 @@ FORK FROM DEAD libupnp | ||||
| 	  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> | ||||
| 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> | ||||
| 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 | ||||
| @@ -444,7 +494,7 @@ FORK FROM DEAD libupnp | ||||
| 	* 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> | ||||
| 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 | ||||
| @@ -453,7 +503,7 @@ FORK FROM DEAD libupnp | ||||
| 	  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> | ||||
| 2006-02-27  R<>mi Turboult  <r3mi(at)users.sourceforge.net> | ||||
|  | ||||
| 	* configure.ac: add libtool versions for the 3 libraries | ||||
|  | ||||
| @@ -461,7 +511,7 @@ FORK FROM DEAD libupnp | ||||
|  | ||||
| 	* threadutil/src/ThreadPool.c (SetSeed): add missing 'static'  | ||||
|  | ||||
| 2006-02-26  R<>mi Turboult  <r3mi(at)users.sourceforge.net> | ||||
| 2006-02-26  R<>mi Turboult  <r3mi(at)users.sourceforge.net> | ||||
|  | ||||
| 	* threadutil/inc/iasnprintf.h: add gcc __printf__ format attribute | ||||
| 	  to "iasnprintf" | ||||
| @@ -482,11 +532,11 @@ FORK FROM DEAD libupnp | ||||
| 	  the configuration of the installed libraries (generates installed | ||||
| 	  file <upnp/upnpconfig.h>) | ||||
|  | ||||
| 2006-02-22  R<>mi Turboult  <r3mi(at)users.sourceforge.net> | ||||
| 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> | ||||
| 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" | ||||
| @@ -494,12 +544,12 @@ FORK FROM DEAD libupnp | ||||
| 	* import all modifications below from libupnp in djmount 0.51 | ||||
| 	  into official libupnp | ||||
| 	 | ||||
| 2006-01-17  R<>mi Turboult  <r3mi(at)users.sourceforge.net> | ||||
| 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> | ||||
| 2006-01-15  R<>mi Turboult  <r3mi(at)users.sourceforge.net> | ||||
|  | ||||
| 	* configure.ac: add checks for large-file support | ||||
|  | ||||
| @@ -519,53 +569,53 @@ FORK FROM DEAD libupnp | ||||
| 	* ixml/src/node.c (ixmlNode_getNodeType): fix compilation warning | ||||
| 	  on const return type | ||||
|  | ||||
| 2006-01-12  R<>mi Turboult  <r3mi(at)users.sourceforge.net> | ||||
| 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> | ||||
| 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> | ||||
| 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> | ||||
| 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> | ||||
| 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> | ||||
| 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> | ||||
| 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> | ||||
| 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> | ||||
| 2005-06-09  R<>mi Turboult  <r3mi(at)users.sourceforge.net> | ||||
|  | ||||
| 	* ixml/src/element.c (ixmlElement_removeAttributeNode):  | ||||
| 	  remove some compilation warning | ||||
| @@ -576,7 +626,7 @@ FORK FROM DEAD libupnp | ||||
| 	* 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> | ||||
| 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) | ||||
| @@ -597,7 +647,7 @@ FORK FROM DEAD libupnp | ||||
| 	* upnp/src/genlib/net/http/httpreadwrite.c : corrected an incorrect | ||||
| 	  sprintf format | ||||
| 	 | ||||
| 2005-05-27  R<>mi Turboult  <r3mi(at)users.sourceforge.net> | ||||
| 2005-05-27  R<>mi Turboult  <r3mi(at)users.sourceforge.net> | ||||
|  | ||||
| 	* upnp/makefile, upnp/src/makefile,  | ||||
| 	  ixml/Makefile, ixml/src/Makefile,  | ||||
| @@ -605,7 +655,7 @@ FORK FROM DEAD libupnp | ||||
| 	  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> | ||||
| 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 :  | ||||
|   | ||||
| @@ -1,8 +1,7 @@ | ||||
|  | ||||
| # | ||||
| # Top-level "Makefile.am" for libupnp | ||||
| # | ||||
| # Copyright (C) 2005 R<>mi Turboult <r3mi@users.sourceforge.net> | ||||
| # Copyright (C) 2005 R<>mi Turboult <r3mi@users.sourceforge.net> | ||||
| # | ||||
|  | ||||
| ACLOCAL_AMFLAGS = -I m4 | ||||
|   | ||||
							
								
								
									
										2
									
								
								README
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								README
									
									
									
									
									
								
							| @@ -1,7 +1,7 @@ | ||||
| Portable SDK for UPnP* Devices (libupnp) | ||||
|  | ||||
| Copyright (c) 2000-2003 Intel Corporation - All Rights Reserved. | ||||
| Copyright (c) 2005-2006 R<>mi Turboult <r3mi@users.sourceforge.net> | ||||
| Copyright (c) 2005-2006 R<>mi Turboult <r3mi@users.sourceforge.net> | ||||
| Copyright (c) 2006 Michel Pfeiffer and others <virtual_worlds@gmx.de> | ||||
|  | ||||
| See LICENSE for details. | ||||
|   | ||||
							
								
								
									
										2
									
								
								THANKS
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								THANKS
									
									
									
									
									
								
							| @@ -7,6 +7,7 @@ Here is a list of these people. Help us keep it complete and | ||||
| exempt of errors. | ||||
|  | ||||
| - Arno Willig | ||||
| - Bob Ciora | ||||
| - Chaos | ||||
| - Craig Nelson | ||||
| - David Maass | ||||
| @@ -28,6 +29,7 @@ exempt of errors. | ||||
| - Oskar Liljeblad | ||||
| - Michael (Oxy) | ||||
| - Paul Vixie | ||||
| - Rene Hexel | ||||
| - Siva Chandran | ||||
| - Timothy Redaelli | ||||
| - Titus Winters | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| // -*- C -*- | ||||
| /////////////////////////////////////////////////////////////////////////// | ||||
| // | ||||
| // Copyright (c) 2006 R<>mi Turboult <r3mi@users.sourceforge.net> | ||||
| // Copyright (c) 2006 R<>mi Turboult <r3mi@users.sourceforge.net> | ||||
| // All rights reserved.  | ||||
| // | ||||
| // Redistribution and use in source and binary forms, with or without  | ||||
|   | ||||
| @@ -5,17 +5,17 @@ | ||||
| # TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 | ||||
|  | ||||
| CFG=libupnp - Win32 Debug | ||||
| !MESSAGE Dies ist kein g<>ltiges Makefile. Zum Erstellen dieses Projekts mit NMAKE | ||||
| !MESSAGE verwenden Sie den Befehl "Makefile exportieren" und f<>hren Sie den Befehl | ||||
| !MESSAGE Dies ist kein g<>ltiges Makefile. Zum Erstellen dieses Projekts mit NMAKE | ||||
| !MESSAGE verwenden Sie den Befehl "Makefile exportieren" und f<>hren Sie den Befehl | ||||
| !MESSAGE  | ||||
| !MESSAGE NMAKE /f "libupnp.mak". | ||||
| !MESSAGE  | ||||
| !MESSAGE Sie k<>nnen beim Ausf<73>hren von NMAKE eine Konfiguration angeben | ||||
| !MESSAGE Sie k<>nnen beim Ausf<73>hren von NMAKE eine Konfiguration angeben | ||||
| !MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel: | ||||
| !MESSAGE  | ||||
| !MESSAGE NMAKE /f "libupnp.mak" CFG="libupnp - Win32 Debug" | ||||
| !MESSAGE  | ||||
| !MESSAGE F<>r die Konfiguration stehen zur Auswahl: | ||||
| !MESSAGE F<>r die Konfiguration stehen zur Auswahl: | ||||
| !MESSAGE  | ||||
| !MESSAGE "libupnp - Win32 Release" (basierend auf  "Win32 (x86) Dynamic-Link Library") | ||||
| !MESSAGE "libupnp - Win32 Debug" (basierend auf  "Win32 (x86) Dynamic-Link Library") | ||||
|   | ||||
							
								
								
									
										36
									
								
								configure.ac
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								configure.ac
									
									
									
									
									
								
							| @@ -4,12 +4,12 @@ | ||||
| # | ||||
| # Process this file with autoconf to produce a configure script. | ||||
| # | ||||
| # (C) Copyright 2005-2006 R<>mi Turboult <r3mi@users.sourceforge.net> | ||||
| # (C) Copyright 2005-2006 R<>mi Turboult <r3mi@users.sourceforge.net> | ||||
| # | ||||
|  | ||||
| AC_PREREQ(2.60) | ||||
|  | ||||
| AC_INIT([libupnp], [1.4.7], [mroberto@users.sourceforge.net]) | ||||
| AC_INIT([libupnp], [1.6.0], [mroberto@users.sourceforge.net]) | ||||
| # *Independently* of the above libupnp package version, the libtool version | ||||
| # of the 3 libraries need to be updated whenever there is a change released : | ||||
| # "current:revision:age" (this is NOT the same as the package version), where: | ||||
| @@ -34,11 +34,35 @@ AC_INIT([libupnp], [1.4.7], [mroberto@users.sourceforge.net]) | ||||
| #	current: 2 -> 3 | ||||
| #	revisiion: 3 -> 0 | ||||
| #	age: 0 -> 1 | ||||
| # - Code has changed in upnp (revision 2 -> 3) | ||||
| # - Code has changed in upnp | ||||
| #	revision: 2 -> 3 | ||||
| AC_SUBST([LT_VERSION_IXML],       [2:3:0]) | ||||
| AC_SUBST([LT_VERSION_THREADUTIL], [3:0:1]) | ||||
| AC_SUBST([LT_VERSION_UPNP],       [2:3:0]) | ||||
| # | ||||
| # For release 1.4.6, we had: | ||||
| #AC_SUBST([LT_VERSION_IXML],       [2:3:0]) | ||||
| #AC_SUBST([LT_VERSION_THREADUTIL], [3:0:1]) | ||||
| #AC_SUBST([LT_VERSION_UPNP],       [2:3:0]) | ||||
| # | ||||
| # "current:revision:age" | ||||
| # | ||||
| # - Code has changed in ixml | ||||
| #	revision: 3 -> 4 | ||||
| # - Code has changed in threadutil | ||||
| #	revision: 0 -> 1 | ||||
| # - Code has changed in upnp | ||||
| #	revision: 3 -> 4 | ||||
| # - Interface changed in upnp | ||||
| #	current: 2 -> 3 | ||||
| #	revision: 4 -> 0 | ||||
| # - Interface removed in upnp | ||||
| #	age: 0 -> 0 | ||||
| # | ||||
| # For release 1.6.0, we had: | ||||
| #AC_SUBST([LT_VERSION_IXML],       [2:4:0]) | ||||
| #AC_SUBST([LT_VERSION_THREADUTIL], [3:1:1]) | ||||
| #AC_SUBST([LT_VERSION_UPNP],       [3:0:0]) | ||||
| AC_SUBST([LT_VERSION_IXML],       [2:4:0]) | ||||
| AC_SUBST([LT_VERSION_THREADUTIL], [3:1:1]) | ||||
| AC_SUBST([LT_VERSION_UPNP],       [3:0:0]) | ||||
|  | ||||
|  | ||||
| AC_CONFIG_AUX_DIR(config.aux) | ||||
|   | ||||
| @@ -9,4 +9,3 @@ Version: @VERSION@ | ||||
| Libs: @PTHREAD_LIBS@ -L${libdir} -lupnp -lthreadutil -lixml  | ||||
| Cflags: @PTHREAD_CFLAGS@ -I${includedir}/upnp | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| Version: 1.4.7 | ||||
| Version: 1.4.2 | ||||
| Summary: Universal Plug and Play (UPnP) SDK | ||||
| Name: libupnp | ||||
| Release: 1%{?dist} | ||||
| @@ -77,9 +77,6 @@ make install DESTDIR=$RPM_BUILD_ROOT | ||||
| rm -rf %{buildroot} | ||||
|  | ||||
| %changelog | ||||
| * Mon Nov 19 2007 Marcelo Jimenez <mroberto@users.sourceforge.net> - 1.4.7-1 | ||||
| - Update to version 1.4.7 | ||||
|  | ||||
| * Fri Feb 02 2007 Eric Tanguy <eric.tanguy@univ-nantes.fr> - 1.4.2-1 | ||||
| - Update to version 1.4.2 | ||||
|  | ||||
|   | ||||
| @@ -1,50 +1,88 @@ | ||||
| dnl @synopsis ACX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) | ||||
| dnl | ||||
| dnl @summary figure out how to build C programs using POSIX threads | ||||
| dnl | ||||
| dnl This macro figures out how to build C programs using POSIX threads. | ||||
| dnl It sets the PTHREAD_LIBS output variable to the threads library and | ||||
| dnl linker flags, and the PTHREAD_CFLAGS output variable to any special | ||||
| dnl C compiler flags that are needed. (The user can also force certain | ||||
| dnl compiler flags/libs to be tested by setting these environment | ||||
| dnl variables.) | ||||
| dnl | ||||
| dnl Also sets PTHREAD_CC to any special C compiler that is needed for | ||||
| dnl multi-threaded programs (defaults to the value of CC otherwise). | ||||
| dnl (This is necessary on AIX to use the special cc_r compiler alias.) | ||||
| dnl | ||||
| dnl NOTE: You are assumed to not only compile your program with these | ||||
| dnl flags, but also link it with them as well. e.g. you should link | ||||
| dnl with $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS | ||||
| dnl $LIBS | ||||
| dnl | ||||
| dnl If you are only building threads programs, you may wish to use | ||||
| dnl these variables in your default LIBS, CFLAGS, and CC: | ||||
| dnl | ||||
| dnl        LIBS="$PTHREAD_LIBS $LIBS" | ||||
| dnl        CFLAGS="$CFLAGS $PTHREAD_CFLAGS" | ||||
| dnl        CC="$PTHREAD_CC" | ||||
| dnl | ||||
| dnl In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute | ||||
| dnl constant has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to | ||||
| dnl that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX). | ||||
| dnl | ||||
| dnl ACTION-IF-FOUND is a list of shell commands to run if a threads | ||||
| dnl library is found, and ACTION-IF-NOT-FOUND is a list of commands to | ||||
| dnl run it if it is not found. If ACTION-IF-FOUND is not specified, the | ||||
| dnl default action will define HAVE_PTHREAD. | ||||
| dnl | ||||
| dnl Please let the authors know if this macro fails on any platform, or | ||||
| dnl if you have any other suggestions or comments. This macro was based | ||||
| dnl on work by SGJ on autoconf scripts for FFTW (www.fftw.org) (with | ||||
| dnl help from M. Frigo), as well as ac_pthread and hb_pthread macros | ||||
| dnl posted by Alejandro Forero Cuervo to the autoconf macro repository. | ||||
| dnl We are also grateful for the helpful feedback of numerous users. | ||||
| dnl | ||||
| dnl @category InstalledPackages | ||||
| dnl @author Steven G. Johnson <stevenj@alum.mit.edu> | ||||
| dnl @version 2005-06-15 | ||||
| dnl @license GPLWithACException | ||||
| ##### http://autoconf-archive.cryp.to/acx_pthread.html | ||||
| # | ||||
| # SYNOPSIS | ||||
| # | ||||
| #   ACX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) | ||||
| # | ||||
| # DESCRIPTION | ||||
| # | ||||
| #   This macro figures out how to build C programs using POSIX threads. | ||||
| #   It sets the PTHREAD_LIBS output variable to the threads library and | ||||
| #   linker flags, and the PTHREAD_CFLAGS output variable to any special | ||||
| #   C compiler flags that are needed. (The user can also force certain | ||||
| #   compiler flags/libs to be tested by setting these environment | ||||
| #   variables.) | ||||
| # | ||||
| #   Also sets PTHREAD_CC to any special C compiler that is needed for | ||||
| #   multi-threaded programs (defaults to the value of CC otherwise). | ||||
| #   (This is necessary on AIX to use the special cc_r compiler alias.) | ||||
| # | ||||
| #   NOTE: You are assumed to not only compile your program with these | ||||
| #   flags, but also link it with them as well. e.g. you should link | ||||
| #   with $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS | ||||
| #   $LIBS | ||||
| # | ||||
| #   If you are only building threads programs, you may wish to use | ||||
| #   these variables in your default LIBS, CFLAGS, and CC: | ||||
| # | ||||
| #          LIBS="$PTHREAD_LIBS $LIBS" | ||||
| #          CFLAGS="$CFLAGS $PTHREAD_CFLAGS" | ||||
| #          CC="$PTHREAD_CC" | ||||
| # | ||||
| #   In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute | ||||
| #   constant has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to | ||||
| #   that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX). | ||||
| # | ||||
| #   ACTION-IF-FOUND is a list of shell commands to run if a threads | ||||
| #   library is found, and ACTION-IF-NOT-FOUND is a list of commands to | ||||
| #   run it if it is not found. If ACTION-IF-FOUND is not specified, the | ||||
| #   default action will define HAVE_PTHREAD. | ||||
| # | ||||
| #   Please let the authors know if this macro fails on any platform, or | ||||
| #   if you have any other suggestions or comments. This macro was based | ||||
| #   on work by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) | ||||
| #   (with help from M. Frigo), as well as ac_pthread and hb_pthread | ||||
| #   macros posted by Alejandro Forero Cuervo to the autoconf macro | ||||
| #   repository. We are also grateful for the helpful feedback of | ||||
| #   numerous users. | ||||
| # | ||||
| # LAST MODIFICATION | ||||
| # | ||||
| #   2006-05-29 | ||||
| # | ||||
| # COPYLEFT | ||||
| # | ||||
| #   Copyright (c) 2006 Steven G. Johnson <stevenj@alum.mit.edu> | ||||
| # | ||||
| #   This program is free software; you can redistribute it and/or | ||||
| #   modify it under the terms of the GNU General Public License as | ||||
| #   published by the Free Software Foundation; either version 2 of the | ||||
| #   License, or (at your option) any later version. | ||||
| # | ||||
| #   This program is distributed in the hope that it will be useful, but | ||||
| #   WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| #   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||||
| #   General Public License for more details. | ||||
| # | ||||
| #   You should have received a copy of the GNU General Public License | ||||
| #   along with this program; if not, write to the Free Software | ||||
| #   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | ||||
| #   02111-1307, USA. | ||||
| # | ||||
| #   As a special exception, the respective Autoconf Macro's copyright | ||||
| #   owner gives unlimited permission to copy, distribute and modify the | ||||
| #   configure scripts that are the output of Autoconf when processing | ||||
| #   the Macro. You need not follow the terms of the GNU General Public | ||||
| #   License when using or distributing such scripts, even though | ||||
| #   portions of the text of the Macro appear in them. The GNU General | ||||
| #   Public License (GPL) does govern all other use of the material that | ||||
| #   constitutes the Autoconf Macro. | ||||
| # | ||||
| #   This special exception to the GPL applies to versions of the | ||||
| #   Autoconf Macro released by the Autoconf Macro Archive. When you | ||||
| #   make and distribute a modified version of the Autoconf Macro, you | ||||
| #   may extend this special exception to the GPL to apply to your | ||||
| #   modified version as well. | ||||
|  | ||||
| AC_DEFUN([ACX_PTHREAD], [ | ||||
| AC_REQUIRE([AC_CANONICAL_HOST]) | ||||
| @@ -216,8 +254,12 @@ if test "x$acx_pthread_ok" = xyes; then | ||||
|         LIBS="$save_LIBS" | ||||
|         CFLAGS="$save_CFLAGS" | ||||
|  | ||||
|         # More AIX lossage: must compile with cc_r | ||||
|         AC_CHECK_PROG(PTHREAD_CC, cc_r, cc_r, ${CC}) | ||||
|         # More AIX lossage: must compile with xlc_r or cc_r | ||||
| 	if test x"$GCC" != xyes; then | ||||
|           AC_CHECK_PROGS(PTHREAD_CC, xlc_r cc_r, ${CC}) | ||||
|         else | ||||
|           PTHREAD_CC=$CC | ||||
| 	fi | ||||
| else | ||||
|         PTHREAD_CC="$CC" | ||||
| fi | ||||
|   | ||||
| @@ -1,48 +1,87 @@ | ||||
| dnl @synopsis AX_CFLAGS_GCC_OPTION (optionflag [,[shellvar][,[A][,[NA]]]) | ||||
| dnl | ||||
| dnl AX_CFLAGS_GCC_OPTION(-fvomit-frame) would show a message as like | ||||
| dnl "checking CFLAGS for gcc -fvomit-frame ... yes" and adds the | ||||
| dnl optionflag to CFLAGS if it is understood. You can override the | ||||
| dnl shellvar-default of CFLAGS of course. The order of arguments stems | ||||
| dnl from the explicit macros like AX_CFLAGS_WARN_ALL. | ||||
| dnl | ||||
| dnl The cousin AX_CXXFLAGS_GCC_OPTION would check for an option to add | ||||
| dnl to CXXFLAGS - and it uses the autoconf setup for C++ instead of C | ||||
| dnl (since it is possible to use different compilers for C and C++). | ||||
| dnl | ||||
| dnl The macro is a lot simpler than any special AX_CFLAGS_* macro (or | ||||
| dnl ac_cxx_rtti.m4 macro) but allows to check for arbitrary options. | ||||
| dnl However, if you use this macro in a few places, it would be great | ||||
| dnl if you would make up a new function-macro and submit it to the | ||||
| dnl ac-archive. | ||||
| dnl | ||||
| dnl   - $1 option-to-check-for : required ("-option" as non-value) | ||||
| dnl   - $2 shell-variable-to-add-to : CFLAGS (or CXXFLAGS in the other case) | ||||
| dnl   - $3 action-if-found : add value to shellvariable | ||||
| dnl   - $4 action-if-not-found : nothing | ||||
| dnl | ||||
| dnl note: in earlier versions, $1-$2 were swapped. We try to detect the | ||||
| dnl situation and accept a $2=~/-/ as being the old | ||||
| dnl option-to-check-for. | ||||
| dnl | ||||
| dnl also: there are other variants that emerged from the original macro | ||||
| dnl variant which did just test an option to be possibly added. | ||||
| dnl However, some compilers accept an option silently, or possibly for | ||||
| dnl just another option that was not intended. Therefore, we have to do | ||||
| dnl a generic test for a compiler family. For gcc we check "-pedantic" | ||||
| dnl being accepted which is also understood by compilers who just want | ||||
| dnl to be compatible with gcc even when not being made from gcc | ||||
| dnl sources. | ||||
| dnl | ||||
| dnl see also: | ||||
| dnl | ||||
| dnl       AX_CFLAGS_SUN_OPTION               AX_CFLAGS_HPUX_OPTION | ||||
| dnl       AX_CFLAGS_AIX_OPTION               AX_CFLAGS_IRIX_OPTION | ||||
| dnl | ||||
| dnl @category C | ||||
| dnl @author Guido Draheim <guidod@gmx.de> | ||||
| dnl @version 2003-11-04 | ||||
| dnl @license GPLWithACException | ||||
| ##### http://autoconf-archive.cryp.to/ax_cflags_gcc_option.html | ||||
| # | ||||
| # SYNOPSIS | ||||
| # | ||||
| #   AX_CFLAGS_GCC_OPTION (optionflag [,[shellvar][,[A][,[NA]]]) | ||||
| # | ||||
| # DESCRIPTION | ||||
| # | ||||
| #   AX_CFLAGS_GCC_OPTION(-fvomit-frame) would show a message as like | ||||
| #   "checking CFLAGS for gcc -fvomit-frame ... yes" and adds the | ||||
| #   optionflag to CFLAGS if it is understood. You can override the | ||||
| #   shellvar-default of CFLAGS of course. The order of arguments stems | ||||
| #   from the explicit macros like AX_CFLAGS_WARN_ALL. | ||||
| # | ||||
| #   The cousin AX_CXXFLAGS_GCC_OPTION would check for an option to add | ||||
| #   to CXXFLAGS - and it uses the autoconf setup for C++ instead of C | ||||
| #   (since it is possible to use different compilers for C and C++). | ||||
| # | ||||
| #   The macro is a lot simpler than any special AX_CFLAGS_* macro (or | ||||
| #   ac_cxx_rtti.m4 macro) but allows to check for arbitrary options. | ||||
| #   However, if you use this macro in a few places, it would be great | ||||
| #   if you would make up a new function-macro and submit it to the | ||||
| #   ac-archive. | ||||
| # | ||||
| #     - $1 option-to-check-for : required ("-option" as non-value) | ||||
| #     - $2 shell-variable-to-add-to : CFLAGS (or CXXFLAGS in the other case) | ||||
| #     - $3 action-if-found : add value to shellvariable | ||||
| #     - $4 action-if-not-found : nothing | ||||
| # | ||||
| #   note: in earlier versions, $1-$2 were swapped. We try to detect the | ||||
| #   situation and accept a $2=~/-/ as being the old | ||||
| #   option-to-check-for. | ||||
| # | ||||
| #   also: there are other variants that emerged from the original macro | ||||
| #   variant which did just test an option to be possibly added. | ||||
| #   However, some compilers accept an option silently, or possibly for | ||||
| #   just another option that was not intended. Therefore, we have to do | ||||
| #   a generic test for a compiler family. For gcc we check "-pedantic" | ||||
| #   being accepted which is also understood by compilers who just want | ||||
| #   to be compatible with gcc even when not being made from gcc | ||||
| #   sources. | ||||
| # | ||||
| #   see also: | ||||
| # | ||||
| #         AX_CFLAGS_SUN_OPTION               AX_CFLAGS_HPUX_OPTION | ||||
| #         AX_CFLAGS_AIX_OPTION               AX_CFLAGS_IRIX_OPTION | ||||
| # | ||||
| # LAST MODIFICATION | ||||
| # | ||||
| #   2006-12-12 | ||||
| # | ||||
| # COPYLEFT | ||||
| # | ||||
| #   Copyright (c) 2006 Guido U. Draheim <guidod@gmx.de> | ||||
| # | ||||
| #   This program is free software; you can redistribute it and/or | ||||
| #   modify it under the terms of the GNU General Public License as | ||||
| #   published by the Free Software Foundation; either version 2 of the | ||||
| #   License, or (at your option) any later version. | ||||
| # | ||||
| #   This program is distributed in the hope that it will be useful, but | ||||
| #   WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| #   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||||
| #   General Public License for more details. | ||||
| # | ||||
| #   You should have received a copy of the GNU General Public License | ||||
| #   along with this program; if not, write to the Free Software | ||||
| #   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | ||||
| #   02111-1307, USA. | ||||
| # | ||||
| #   As a special exception, the respective Autoconf Macro's copyright | ||||
| #   owner gives unlimited permission to copy, distribute and modify the | ||||
| #   configure scripts that are the output of Autoconf when processing | ||||
| #   the Macro. You need not follow the terms of the GNU General Public | ||||
| #   License when using or distributing such scripts, even though | ||||
| #   portions of the text of the Macro appear in them. The GNU General | ||||
| #   Public License (GPL) does govern all other use of the material that | ||||
| #   constitutes the Autoconf Macro. | ||||
| # | ||||
| #   This special exception to the GPL applies to versions of the | ||||
| #   Autoconf Macro released by the Autoconf Macro Archive. When you | ||||
| #   make and distribute a modified version of the Autoconf Macro, you | ||||
| #   may extend this special exception to the GPL to apply to your | ||||
| #   modified version as well. | ||||
|  | ||||
| AC_DEFUN([AX_CFLAGS_GCC_OPTION_OLD], [dnl | ||||
| AS_VAR_PUSHDEF([FLAGS],[CFLAGS])dnl | ||||
| @@ -53,7 +92,8 @@ VAR,[VAR="no, unknown" | ||||
|  AC_LANG_C | ||||
|  ac_save_[]FLAGS="$[]FLAGS" | ||||
| for ac_arg dnl | ||||
| in "-pedantic  % m4_ifval($2,$2,-option)"  dnl   GCC | ||||
| in "-pedantic -Werror % m4_ifval($2,$2,-option)"  dnl   GCC | ||||
|    "-pedantic % m4_ifval($2,$2,-option) %% no, obsolete"  dnl new GCC | ||||
|    # | ||||
| do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` | ||||
|    AC_TRY_COMPILE([],[return 0;], | ||||
| @@ -85,10 +125,11 @@ AS_VAR_PUSHDEF([VAR],[ac_cv_cxxflags_gcc_option_$2])dnl | ||||
| AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for gcc m4_ifval($2,$2,-option)], | ||||
| VAR,[VAR="no, unknown" | ||||
|  AC_LANG_SAVE | ||||
|  AC_LANG_CXX | ||||
|  AC_LANG_CPLUSPLUS | ||||
|  ac_save_[]FLAGS="$[]FLAGS" | ||||
| for ac_arg dnl | ||||
| in "-pedantic  % m4_ifval($2,$2,-option)"  dnl   GCC | ||||
| in "-pedantic -Werror % m4_ifval($2,$2,-option)"  dnl   GCC | ||||
|    "-pedantic % m4_ifval($2,$2,-option) %% no, obsolete"  dnl new GCC | ||||
|    # | ||||
| do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` | ||||
|    AC_TRY_COMPILE([],[return 0;], | ||||
| @@ -122,7 +163,8 @@ VAR,[VAR="no, unknown" | ||||
|  AC_LANG_C | ||||
|  ac_save_[]FLAGS="$[]FLAGS" | ||||
| for ac_arg dnl | ||||
| in "-pedantic  % m4_ifval($1,$1,-option)"  dnl   GCC | ||||
| in "-pedantic -Werror % m4_ifval($1,$1,-option)"  dnl   GCC | ||||
|    "-pedantic % m4_ifval($1,$1,-option) %% no, obsolete"  dnl new GCC | ||||
|    # | ||||
| do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` | ||||
|    AC_TRY_COMPILE([],[return 0;], | ||||
| @@ -154,10 +196,11 @@ AS_VAR_PUSHDEF([VAR],[ac_cv_cxxflags_gcc_option_$1])dnl | ||||
| AC_CACHE_CHECK([m4_ifval($2,$2,FLAGS) for gcc m4_ifval($1,$1,-option)], | ||||
| VAR,[VAR="no, unknown" | ||||
|  AC_LANG_SAVE | ||||
|  AC_LANG_CXX | ||||
|  AC_LANG_CPLUSPLUS | ||||
|  ac_save_[]FLAGS="$[]FLAGS" | ||||
| for ac_arg dnl | ||||
| in "-pedantic  % m4_ifval($1,$1,-option)"  dnl   GCC | ||||
| in "-pedantic -Werror % m4_ifval($1,$1,-option)"  dnl   GCC | ||||
|    "-pedantic % m4_ifval($1,$1,-option) %% no, obsolete"  dnl new GCC | ||||
|    # | ||||
| do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` | ||||
|    AC_TRY_COMPILE([],[return 0;], | ||||
|   | ||||
| @@ -1,27 +1,66 @@ | ||||
| dnl @synopsis AX_CFLAGS_WARN_ALL [(shellvar [,default, [A/NA]])] | ||||
| dnl | ||||
| dnl Try to find a compiler option that enables most reasonable | ||||
| dnl warnings. This macro is directly derived from VL_PROG_CC_WARNINGS | ||||
| dnl which is split up into two AX_CFLAGS_WARN_ALL and | ||||
| dnl AX_CFLAGS_WARN_ALL_ANSI | ||||
| dnl | ||||
| dnl For the GNU CC compiler it will be -Wall (and -ansi -pedantic) The | ||||
| dnl result is added to the shellvar being CFLAGS by default. | ||||
| dnl | ||||
| dnl Currently this macro knows about GCC, Solaris C compiler, Digital | ||||
| dnl Unix C compiler, C for AIX Compiler, HP-UX C compiler, IRIX C | ||||
| dnl compiler, NEC SX-5 (Super-UX 10) C compiler, and Cray J90 (Unicos | ||||
| dnl 10.0.0.8) C compiler. | ||||
| dnl | ||||
| dnl  - $1 shell-variable-to-add-to : CFLAGS | ||||
| dnl  - $2 add-value-if-not-found : nothing | ||||
| dnl  - $3 action-if-found : add value to shellvariable | ||||
| dnl  - $4 action-if-not-found : nothing | ||||
| dnl | ||||
| dnl @category C | ||||
| dnl @author Guido Draheim <guidod@gmx.de> | ||||
| dnl @version 2003-01-06 | ||||
| dnl @license GPLWithACException | ||||
| ##### http://autoconf-archive.cryp.to/ax_cflags_warn_all.html | ||||
| # | ||||
| # SYNOPSIS | ||||
| # | ||||
| #   AX_CFLAGS_WARN_ALL [(shellvar [,default, [A/NA]])] | ||||
| # | ||||
| # DESCRIPTION | ||||
| # | ||||
| #   Try to find a compiler option that enables most reasonable | ||||
| #   warnings. This macro is directly derived from VL_PROG_CC_WARNINGS | ||||
| #   which is split up into two AX_CFLAGS_WARN_ALL and | ||||
| #   AX_CFLAGS_WARN_ALL_ANSI | ||||
| # | ||||
| #   For the GNU CC compiler it will be -Wall (and -ansi -pedantic) The | ||||
| #   result is added to the shellvar being CFLAGS by default. | ||||
| # | ||||
| #   Currently this macro knows about GCC, Solaris C compiler, Digital | ||||
| #   Unix C compiler, C for AIX Compiler, HP-UX C compiler, IRIX C | ||||
| #   compiler, NEC SX-5 (Super-UX 10) C compiler, and Cray J90 (Unicos | ||||
| #   10.0.0.8) C compiler. | ||||
| # | ||||
| #    - $1 shell-variable-to-add-to : CFLAGS | ||||
| #    - $2 add-value-if-not-found : nothing | ||||
| #    - $3 action-if-found : add value to shellvariable | ||||
| #    - $4 action-if-not-found : nothing | ||||
| # | ||||
| # LAST MODIFICATION | ||||
| # | ||||
| #   2006-12-12 | ||||
| # | ||||
| # COPYLEFT | ||||
| # | ||||
| #   Copyright (c) 2006 Guido U. Draheim <guidod@gmx.de> | ||||
| # | ||||
| #   This program is free software; you can redistribute it and/or | ||||
| #   modify it under the terms of the GNU General Public License as | ||||
| #   published by the Free Software Foundation; either version 2 of the | ||||
| #   License, or (at your option) any later version. | ||||
| # | ||||
| #   This program is distributed in the hope that it will be useful, but | ||||
| #   WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| #   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||||
| #   General Public License for more details. | ||||
| # | ||||
| #   You should have received a copy of the GNU General Public License | ||||
| #   along with this program; if not, write to the Free Software | ||||
| #   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | ||||
| #   02111-1307, USA. | ||||
| # | ||||
| #   As a special exception, the respective Autoconf Macro's copyright | ||||
| #   owner gives unlimited permission to copy, distribute and modify the | ||||
| #   configure scripts that are the output of Autoconf when processing | ||||
| #   the Macro. You need not follow the terms of the GNU General Public | ||||
| #   License when using or distributing such scripts, even though | ||||
| #   portions of the text of the Macro appear in them. The GNU General | ||||
| #   Public License (GPL) does govern all other use of the material that | ||||
| #   constitutes the Autoconf Macro. | ||||
| # | ||||
| #   This special exception to the GPL applies to versions of the | ||||
| #   Autoconf Macro released by the Autoconf Macro Archive. When you | ||||
| #   make and distribute a modified version of the Autoconf Macro, you | ||||
| #   may extend this special exception to the GPL to apply to your | ||||
| #   modified version as well. | ||||
|  | ||||
| AC_DEFUN([AX_CFLAGS_WARN_ALL],[dnl | ||||
| AS_VAR_PUSHDEF([FLAGS],[CFLAGS])dnl | ||||
| @@ -72,7 +111,7 @@ AS_VAR_PUSHDEF([VAR],[ac_cv_cxxflags_warn_all])dnl | ||||
| AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for maximum warnings], | ||||
| VAR,[VAR="no, unknown" | ||||
|  AC_LANG_SAVE | ||||
|  AC_LANG_CXX | ||||
|  AC_LANG_CPLUSPLUS | ||||
|  ac_save_[]FLAGS="$[]FLAGS" | ||||
| for ac_arg dnl | ||||
| in "-pedantic  % -Wall"       dnl   GCC | ||||
| @@ -115,4 +154,5 @@ dnl   compilers will fail about it. That was needed since a lot of | ||||
| dnl   compilers will give false positives for some option-syntax | ||||
| dnl   like -Woption or -Xoption as they think of it is a pass-through | ||||
| dnl   to later compile stages or something. The "%" is used as a | ||||
| dnl   delimimiter. A non-option comment can be given after "%%" marks. | ||||
| dnl   delimimiter. A non-option comment can be given after "%%" marks | ||||
| dnl   which will be shown but not added to the respective C/CXXFLAGS. | ||||
|   | ||||
| @@ -1,27 +1,66 @@ | ||||
| dnl @synopsis AX_CFLAGS_WARN_ALL_ANSI [(shellvar [,default, [A/NA]])] | ||||
| dnl | ||||
| dnl Try to find a compiler option that enables most reasonable | ||||
| dnl warnings. This macro is directly derived from VL_PROG_CC_WARNINGS | ||||
| dnl which is split up into two AX_CFLAGS_WARN_ALL and | ||||
| dnl AX_CFLAGS_WARN_ALL_ANSI | ||||
| dnl | ||||
| dnl For the GNU CC compiler it will be -Wall (and -ansi -pedantic) The | ||||
| dnl result is added to the shellvar being CFLAGS by default. | ||||
| dnl | ||||
| dnl Currently this macro knows about GCC, Solaris C compiler, Digital | ||||
| dnl Unix C compiler, C for AIX Compiler, HP-UX C compiler, IRIX C | ||||
| dnl compiler, NEC SX-5 (Super-UX 10) C compiler, and Cray J90 (Unicos | ||||
| dnl 10.0.0.8) C compiler. | ||||
| dnl | ||||
| dnl  - $1 shell-variable-to-add-to : CFLAGS | ||||
| dnl  - $2 add-value-if-not-found : nothing | ||||
| dnl  - $3 action-if-found : add value to shellvariable | ||||
| dnl  - $4 action-if-not-found : nothing | ||||
| dnl | ||||
| dnl @category C | ||||
| dnl @author Guido Draheim <guidod@gmx.de> | ||||
| dnl @version 2003-01-06 | ||||
| dnl @license GPLWithACException | ||||
| ##### http://autoconf-archive.cryp.to/ax_cflags_warn_all_ansi.html | ||||
| # | ||||
| # SYNOPSIS | ||||
| # | ||||
| #   AX_CFLAGS_WARN_ALL_ANSI [(shellvar [,default, [A/NA]])] | ||||
| # | ||||
| # DESCRIPTION | ||||
| # | ||||
| #   Try to find a compiler option that enables most reasonable | ||||
| #   warnings. This macro is directly derived from VL_PROG_CC_WARNINGS | ||||
| #   which is split up into two AX_CFLAGS_WARN_ALL and | ||||
| #   AX_CFLAGS_WARN_ALL_ANSI | ||||
| # | ||||
| #   For the GNU CC compiler it will be -Wall (and -ansi -pedantic) The | ||||
| #   result is added to the shellvar being CFLAGS by default. | ||||
| # | ||||
| #   Currently this macro knows about GCC, Solaris C compiler, Digital | ||||
| #   Unix C compiler, C for AIX Compiler, HP-UX C compiler, IRIX C | ||||
| #   compiler, NEC SX-5 (Super-UX 10) C compiler, and Cray J90 (Unicos | ||||
| #   10.0.0.8) C compiler. | ||||
| # | ||||
| #    - $1 shell-variable-to-add-to : CFLAGS | ||||
| #    - $2 add-value-if-not-found : nothing | ||||
| #    - $3 action-if-found : add value to shellvariable | ||||
| #    - $4 action-if-not-found : nothing | ||||
| # | ||||
| # LAST MODIFICATION | ||||
| # | ||||
| #   2006-12-12 | ||||
| # | ||||
| # COPYLEFT | ||||
| # | ||||
| #   Copyright (c) 2006 Guido U. Draheim <guidod@gmx.de> | ||||
| # | ||||
| #   This program is free software; you can redistribute it and/or | ||||
| #   modify it under the terms of the GNU General Public License as | ||||
| #   published by the Free Software Foundation; either version 2 of the | ||||
| #   License, or (at your option) any later version. | ||||
| # | ||||
| #   This program is distributed in the hope that it will be useful, but | ||||
| #   WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| #   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||||
| #   General Public License for more details. | ||||
| # | ||||
| #   You should have received a copy of the GNU General Public License | ||||
| #   along with this program; if not, write to the Free Software | ||||
| #   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | ||||
| #   02111-1307, USA. | ||||
| # | ||||
| #   As a special exception, the respective Autoconf Macro's copyright | ||||
| #   owner gives unlimited permission to copy, distribute and modify the | ||||
| #   configure scripts that are the output of Autoconf when processing | ||||
| #   the Macro. You need not follow the terms of the GNU General Public | ||||
| #   License when using or distributing such scripts, even though | ||||
| #   portions of the text of the Macro appear in them. The GNU General | ||||
| #   Public License (GPL) does govern all other use of the material that | ||||
| #   constitutes the Autoconf Macro. | ||||
| # | ||||
| #   This special exception to the GPL applies to versions of the | ||||
| #   Autoconf Macro released by the Autoconf Macro Archive. When you | ||||
| #   make and distribute a modified version of the Autoconf Macro, you | ||||
| #   may extend this special exception to the GPL to apply to your | ||||
| #   modified version as well. | ||||
|  | ||||
| AC_DEFUN([AX_CFLAGS_WARN_ALL_ANSI],[dnl | ||||
| AS_VAR_PUSHDEF([FLAGS],[CFLAGS])dnl | ||||
| @@ -77,7 +116,7 @@ AS_VAR_PUSHDEF([VAR],[ac_cv_cxxflags_warn_all_ansi])dnl | ||||
| AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for maximum ansi warnings], | ||||
| VAR,[VAR="no, unknown" | ||||
|  AC_LANG_SAVE | ||||
|  AC_LANG_CXX | ||||
|  AC_LANG_CPLUSPLUS | ||||
|  ac_save_[]FLAGS="$[]FLAGS" | ||||
| # IRIX C compiler: | ||||
| #      -use_readonly_const is the default for IRIX C, | ||||
|   | ||||
| @@ -1,13 +1,52 @@ | ||||
| dnl @synopsis TYPE_SOCKLEN_T | ||||
| dnl | ||||
| dnl Check whether sys/socket.h defines type socklen_t. Please note that | ||||
| dnl some systems require sys/types.h to be included before sys/socket.h | ||||
| dnl can be compiled. | ||||
| dnl | ||||
| dnl @category Misc | ||||
| dnl @author Lars Brinkhoff <lars@nocrew.org> | ||||
| dnl @version 2005-01-11 | ||||
| dnl @license GPLWithACException | ||||
| ##### http://autoconf-archive.cryp.to/type_socklen_t.html | ||||
| # | ||||
| # SYNOPSIS | ||||
| # | ||||
| #   TYPE_SOCKLEN_T | ||||
| # | ||||
| # DESCRIPTION | ||||
| # | ||||
| #   Check whether sys/socket.h defines type socklen_t. Please note that | ||||
| #   some systems require sys/types.h to be included before sys/socket.h | ||||
| #   can be compiled. | ||||
| # | ||||
| # LAST MODIFICATION | ||||
| # | ||||
| #   2005-01-11 | ||||
| # | ||||
| # COPYLEFT | ||||
| # | ||||
| #   Copyright (c) 2005 Lars Brinkhoff <lars@nocrew.org> | ||||
| # | ||||
| #   This program is free software; you can redistribute it and/or | ||||
| #   modify it under the terms of the GNU General Public License as | ||||
| #   published by the Free Software Foundation; either version 2 of the | ||||
| #   License, or (at your option) any later version. | ||||
| # | ||||
| #   This program is distributed in the hope that it will be useful, but | ||||
| #   WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| #   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||||
| #   General Public License for more details. | ||||
| # | ||||
| #   You should have received a copy of the GNU General Public License | ||||
| #   along with this program; if not, write to the Free Software | ||||
| #   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | ||||
| #   02111-1307, USA. | ||||
| # | ||||
| #   As a special exception, the respective Autoconf Macro's copyright | ||||
| #   owner gives unlimited permission to copy, distribute and modify the | ||||
| #   configure scripts that are the output of Autoconf when processing | ||||
| #   the Macro. You need not follow the terms of the GNU General Public | ||||
| #   License when using or distributing such scripts, even though | ||||
| #   portions of the text of the Macro appear in them. The GNU General | ||||
| #   Public License (GPL) does govern all other use of the material that | ||||
| #   constitutes the Autoconf Macro. | ||||
| # | ||||
| #   This special exception to the GPL applies to versions of the | ||||
| #   Autoconf Macro released by the Autoconf Macro Archive. When you | ||||
| #   make and distribute a modified version of the Autoconf Macro, you | ||||
| #   may extend this special exception to the GPL to apply to your | ||||
| #   modified version as well. | ||||
|  | ||||
| AC_DEFUN([TYPE_SOCKLEN_T], | ||||
| [AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t, | ||||
|   | ||||
| @@ -30,7 +30,8 @@ | ||||
| /////////////////////////////////////////////////////////////////////////// | ||||
|  | ||||
| #include "LinkedList.h" | ||||
| #ifdef __FreeBSD__ | ||||
| #include <sys/param.h> | ||||
| #if (defined(BSD) && BSD >= 199306) | ||||
| #include <stdlib.h> | ||||
| #else | ||||
| #include <malloc.h> | ||||
|   | ||||
| @@ -96,12 +96,14 @@ SetPolicyType( PolicyType in ) | ||||
|     #else | ||||
|     #ifdef WIN32 | ||||
|      return sched_setscheduler( 0, in); | ||||
|     #else | ||||
|     #elif defined(_POSIX_PRIORITY_SCHEDULING) && _POSIX_PRIORITY_SCHEDULING > 0 | ||||
|      struct sched_param current; | ||||
|  | ||||
|      sched_getparam( 0, ¤t ); | ||||
|      current.sched_priority = DEFAULT_SCHED_PARAM; | ||||
|      return sched_setscheduler( 0, in, ¤t ); | ||||
|     #else | ||||
|      return 0; | ||||
|     #endif | ||||
|     #endif | ||||
| } | ||||
| @@ -123,7 +125,7 @@ SetPolicyType( PolicyType in ) | ||||
| static int | ||||
| SetPriority( ThreadPriority priority ) | ||||
| { | ||||
|  | ||||
| #if defined(_POSIX_PRIORITY_SCHEDULING) && _POSIX_PRIORITY_SCHEDULING > 0 | ||||
|     int currentPolicy; | ||||
|     int minPriority = 0; | ||||
|     int maxPriority = 0; | ||||
| @@ -155,7 +157,9 @@ SetPriority( ThreadPriority priority ) | ||||
|  | ||||
|     return pthread_setschedparam( ithread_self(), currentPolicy, | ||||
|                                   &newPriority ); | ||||
|  | ||||
| #else | ||||
|     return 0; | ||||
| #endif | ||||
| } | ||||
|  | ||||
| /**************************************************************************** | ||||
| @@ -354,18 +358,25 @@ tp->stats.totalJobsLQ++; tp->stats.totalTimeLQ += diff; break; default: | ||||
|  *  Parameters: | ||||
|  *       | ||||
|  *****************************************************************************/ | ||||
|     static void SetSeed() { | ||||
|     struct timeb t; | ||||
| static void SetSeed() { | ||||
| 	struct timeb t; | ||||
|  | ||||
|     ftime( &t ); | ||||
| 	ftime( &t ); | ||||
| #if defined(WIN32) | ||||
|     srand( ( unsigned int )t.millitm + (unsigned int)ithread_get_current_thread_id().p ); | ||||
| 	srand( ( unsigned int )t.millitm + (unsigned int)ithread_get_current_thread_id().p ); | ||||
| #elif defined(__FreeBSD__) | ||||
|     srand( ( unsigned int )t.millitm + (unsigned int)ithread_get_current_thread_id() ); | ||||
| 	srand( ( unsigned int )t.millitm + (unsigned int)ithread_get_current_thread_id() ); | ||||
| #elif defined(__linux__) | ||||
| 	srand( ( unsigned int )t.millitm + ithread_get_current_thread_id() ); | ||||
| #else | ||||
|     srand( ( unsigned int )t.millitm + ithread_get_current_thread_id() ); | ||||
| 	{ | ||||
| 		volatile union { volatile pthread_t tid; volatile unsigned i; } idu; | ||||
|  | ||||
| 		idu.tid = ithread_get_current_thread_id(); | ||||
| 		srand( ( unsigned int )t.millitm + idu.i ); | ||||
| 	} | ||||
| #endif | ||||
|     } | ||||
| } | ||||
|  | ||||
| /**************************************************************************** | ||||
|  * Function: WorkerThread | ||||
|   | ||||
| @@ -31,7 +31,8 @@ | ||||
|  | ||||
| #include <stdarg.h> | ||||
| #include <assert.h> | ||||
| #ifdef __FreeBSD__ | ||||
| #include <sys/param.h> | ||||
| #if (defined(BSD) && BSD >= 199306) | ||||
| #include <stdlib.h> | ||||
| #else | ||||
| #include <malloc.h> | ||||
|   | ||||
| @@ -1,8 +1,7 @@ | ||||
|  | ||||
| # | ||||
| # "Makefile.am" for "libupnp/upnp" | ||||
| # | ||||
| # Copyright (C) 2005 R<>mi Turboult <r3mi@users.sourceforge.net> | ||||
| # Copyright (C) 2005 R<>mi Turboult <r3mi@users.sourceforge.net> | ||||
| # | ||||
|  | ||||
| SUBDIRS = doc . sample | ||||
| @@ -23,14 +22,14 @@ LDADD = \ | ||||
|  | ||||
|  | ||||
| upnpincludedir = $(includedir)/upnp | ||||
| upnpinclude_HEADERS = inc/upnp.h  | ||||
| upnpinclude_HEADERS = \ | ||||
| 	inc/upnp.h \ | ||||
| 	inc/upnpdebug.h | ||||
|  | ||||
| nodist_upnpinclude_HEADERS = inc/upnpconfig.h  | ||||
| if ENABLE_TOOLS | ||||
| upnpinclude_HEADERS += inc/upnptools.h  | ||||
| endif | ||||
| if ENABLE_DEBUG | ||||
| upnpinclude_HEADERS += inc/upnpdebug.h | ||||
| endif | ||||
|  | ||||
|  | ||||
| lib_LTLIBRARIES = libupnp.la | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| # | ||||
| # "Makefile.am" for "libunp/upnp/doc"  | ||||
| # | ||||
| # (C) Copyright 2005 R<>mi Turboult <r3mi@users.sourceforge.net> | ||||
| # (C) Copyright 2005 R<>mi Turboult <r3mi@users.sourceforge.net> | ||||
| # | ||||
| ########################################################################## | ||||
| # | ||||
|   | ||||
										
											Binary file not shown.
										
									
								
							| @@ -47,7 +47,8 @@ | ||||
|  | ||||
|  | ||||
| #include <stdio.h> | ||||
| #ifdef __FreeBSD__ | ||||
| #include <sys/param.h> | ||||
| #if (defined(BSD) && BSD >= 199306) | ||||
| 	#include <time.h> | ||||
| #endif | ||||
| #include "ixml.h" | ||||
| @@ -828,46 +829,42 @@ struct Upnp_Event | ||||
|  * Upnp_Discovery structure correctly. | ||||
|  */ | ||||
|  | ||||
| typedef struct sockaddr_in SOCKADDRIN; | ||||
|  | ||||
| /** Returned in a {\bf UPNP_DISCOVERY_RESULT} callback. */ | ||||
|  | ||||
| struct Upnp_Discovery | ||||
| { | ||||
| 	/** The result code of the {\bf UpnpSearchAsync} call. */ | ||||
| 	int  ErrCode;                   | ||||
| 				      | ||||
|   /** The result code of the {\bf UpnpSearchAsync} call. */ | ||||
|   int  ErrCode;                   | ||||
| 	/** The expiration time of the advertisement. */ | ||||
| 	int  Expires;                   | ||||
| 				      | ||||
|   /** The expiration time of the advertisement. */ | ||||
|   int  Expires;                   | ||||
| 	/** The unique device identifier. */ | ||||
| 	char DeviceId[LINE_SIZE];       | ||||
|  | ||||
|   /** The unique device identifier. */ | ||||
|   char DeviceId[LINE_SIZE];       | ||||
| 	/** The device type. */ | ||||
| 	char DeviceType[LINE_SIZE];     | ||||
|  | ||||
|   /** The device type. */ | ||||
|   char DeviceType[LINE_SIZE];     | ||||
| 	/** The service type. */ | ||||
| 	char ServiceType[LINE_SIZE]; | ||||
|  | ||||
|   /** The service type. */ | ||||
|   char ServiceType[LINE_SIZE]; | ||||
| 	/** The service version. */ | ||||
| 	char ServiceVer[LINE_SIZE];     | ||||
|  | ||||
|   /** The service version. */ | ||||
|   char ServiceVer[LINE_SIZE];     | ||||
| 	/** The URL to the UPnP description document for the device. */ | ||||
| 	char Location[LINE_SIZE];       | ||||
|  | ||||
|   /** The URL to the UPnP description document for the device. */ | ||||
|   char Location[LINE_SIZE];       | ||||
| 	/** The operating system the device is running. */ | ||||
| 	char Os[LINE_SIZE];             | ||||
| 				      | ||||
|   /** The operating system the device is running. */ | ||||
|   char Os[LINE_SIZE];             | ||||
| 	/** Date when the response was generated. */ | ||||
| 	char Date[LINE_SIZE];             | ||||
| 				      | ||||
|   /** Date when the response was generated. */ | ||||
|   char Date[LINE_SIZE];             | ||||
| 				      | ||||
|   /** Confirmation that the MAN header was understood by the device. */ | ||||
|   char Ext[LINE_SIZE];            | ||||
| 				      | ||||
|   /** The host address of the device responding to the search. */ | ||||
|   SOCKADDRIN * DestAddr;  | ||||
| 	/** Confirmation that the MAN header was understood by the device. */ | ||||
| 	char Ext[LINE_SIZE];            | ||||
| 				      | ||||
| 	/** The host address of the device responding to the search. */ | ||||
| 	struct sockaddr_in DestAddr;  | ||||
| }; | ||||
|  | ||||
| /** Returned along with a {\bf UPNP_EVENT_SUBSCRIBE_COMPLETE} or {\bf | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| /* -*- C -*- */ | ||||
| /******************************************************************************* | ||||
|  * | ||||
|  * Copyright (c) 2006 R<>mi Turboult <r3mi@users.sourceforge.net> | ||||
|  * Copyright (c) 2006 R<>mi Turboult <r3mi@users.sourceforge.net> | ||||
|  * All rights reserved.  | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms, with or without  | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| /******************************************************************************* | ||||
|  * | ||||
|  * Copyright (c) 2000-2003 Intel Corporation  | ||||
|  * Copyright (c) 2006 R<>mi Turboult <r3mi@users.sourceforge.net> | ||||
|  * Copyright (c) 2006 R<>mi Turboult <r3mi@users.sourceforge.net> | ||||
|  * All rights reserved.  | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms, with or without  | ||||
| @@ -246,11 +246,15 @@ static UPNP_INLINE int DebugAtThisLevel( | ||||
|  * Returns: void | ||||
|  ***************************************************************************/  | ||||
| #ifdef DEBUG | ||||
| void UpnpPrintf (Upnp_LogLevel DLevel, Dbg_Module Module, | ||||
| 		 const char* DbgFileName, int DbgLineNo, | ||||
| 		 const char* FmtStr, | ||||
| 		 ...) | ||||
| void UpnpPrintf( | ||||
| 	Upnp_LogLevel DLevel, | ||||
| 	Dbg_Module Module, | ||||
| 	const char* DbgFileName, | ||||
| 	int DbgLineNo, | ||||
| 	const char* FmtStr, | ||||
| 	...) | ||||
| #if (__GNUC__ >= 3) | ||||
| 	/* This enables printf like format checking by the compiler */ | ||||
| 	__attribute__((format (__printf__, 5, 6))) | ||||
| #endif | ||||
| ; | ||||
|   | ||||
| @@ -79,8 +79,9 @@ endif | ||||
|  | ||||
|  | ||||
| EXTRA_DIST = \ | ||||
| 	tvdevice/web/tvcontrolSCPD.xml \ | ||||
| 	tvdevice/web/tvdevicedesc.xml \ | ||||
| 	tvdevice/web/tvdevicepres.html \ | ||||
| 	tvdevice/web/tvpictureSCPD.xml | ||||
| 	web/tvcombodesc.xml \ | ||||
| 	web/tvcontrolSCPD.xml \ | ||||
| 	web/tvdevicedesc.xml \ | ||||
| 	web/tvdevicepres.html \ | ||||
| 	web/tvpictureSCPD.xml | ||||
|  | ||||
|   | ||||
| @@ -37,6 +37,7 @@ | ||||
| #include <string.h> | ||||
| #include <sys/stat.h> | ||||
| #ifndef WIN32 | ||||
| 	#include <sys/types.h> | ||||
| 	#include <sys/socket.h> | ||||
| 	#include <netinet/in.h> | ||||
| 	#include <arpa/inet.h> | ||||
| @@ -53,6 +54,11 @@ | ||||
| 	#include <sys/ioctl.h> | ||||
| 	#include <sys/utsname.h> | ||||
| 	#include <unistd.h> | ||||
|  | ||||
| 	#include <sys/param.h> | ||||
| 	#if (defined(BSD) && BSD >= 199306) | ||||
| 		#include <ifaddrs.h> | ||||
| 	#endif | ||||
| #endif | ||||
| #include "upnpapi.h" | ||||
| #include "httpreadwrite.h" | ||||
| @@ -73,6 +79,8 @@ | ||||
| 	#include "urlconfig.h" | ||||
| #endif // INTERNAL_WEB_SERVER | ||||
|  | ||||
| virtualDirList *pVirtualDirList; | ||||
|  | ||||
| // Mutex to synchronize the subscription handling at the client side | ||||
| CLIENTONLY( ithread_mutex_t GlobalClientSubscribeMutex; ) | ||||
|  | ||||
| @@ -3287,17 +3295,15 @@ UpnpDownloadXmlDoc( const char *url, | ||||
|     } else { | ||||
| #ifdef DEBUG | ||||
|         xml_buf = ixmlPrintNode( ( IXML_Node * ) * xmlDoc ); | ||||
|                  UpnpPrintf( UPNP_ALL, API, __FILE__, __LINE__, | ||||
|                              "Printing the Parsed xml document \n %s\n", | ||||
|                              xml_buf ); | ||||
|                  UpnpPrintf( UPNP_ALL, API, __FILE__, __LINE__, | ||||
|                              "****************** END OF Parsed XML Doc *****************\n" ); | ||||
|                  ixmlFreeDOMString( xml_buf ); | ||||
|                  UpnpPrintf( UPNP_ALL, API, __FILE__, __LINE__, | ||||
|                              "Exiting UpnpDownloadXmlDoc\n" ); | ||||
|         UpnpPrintf( UPNP_ALL, API, __FILE__, __LINE__, | ||||
|             "Printing the Parsed xml document \n %s\n", xml_buf ); | ||||
|         UpnpPrintf( UPNP_ALL, API, __FILE__, __LINE__, | ||||
|             "****************** END OF Parsed XML Doc *****************\n" ); | ||||
|         ixmlFreeDOMString( xml_buf ); | ||||
|         UpnpPrintf( UPNP_ALL, API, __FILE__, __LINE__, | ||||
|             "Exiting UpnpDownloadXmlDoc\n" ); | ||||
| #endif | ||||
|  | ||||
|             return UPNP_E_SUCCESS; | ||||
|         return UPNP_E_SUCCESS; | ||||
|     } | ||||
| } | ||||
|  | ||||
| @@ -3717,8 +3723,44 @@ void printNodes( IXML_Node * tmpRoot, int depth ) | ||||
|  			strcpy( out, inet_ntoa(LocalAddr.sin_addr)); | ||||
|  		} | ||||
|  		return UPNP_E_SUCCESS; | ||||
| #else | ||||
| #elif (defined(BSD) && BSD >= 199306) | ||||
|     struct ifaddrs *ifap, *ifa; | ||||
|  | ||||
|     if (getifaddrs(&ifap) != 0) { | ||||
|         UpnpPrintf( UPNP_ALL, API, __FILE__, __LINE__, | ||||
|             "DiscoverInterfaces: getifaddrs() returned error\n" ); | ||||
|         return UPNP_E_INIT; | ||||
|     } | ||||
|  | ||||
|     // cycle through available interfaces | ||||
|     for (ifa = ifap; ifa != NULL; ifa = ifa->ifa_next) { | ||||
|         // Skip loopback, point-to-point and down interfaces,  | ||||
|         // except don't skip down interfaces | ||||
|         // if we're trying to get a list of configurable interfaces.  | ||||
|         if( ( ifa->ifa_flags & IFF_LOOPBACK ) | ||||
|             || ( !( ifa->ifa_flags & IFF_UP ) ) ) { | ||||
|             continue; | ||||
|         } | ||||
|         if( ifa->ifa_addr->sa_family == AF_INET ) { | ||||
|             // We don't want the loopback interface.  | ||||
|             if( ((struct sockaddr_in *)(ifa->ifa_addr))->sin_addr.s_addr == | ||||
|                 htonl( INADDR_LOOPBACK ) ) { | ||||
|                 continue; | ||||
|             } | ||||
|  | ||||
|             strncpy( out, inet_ntoa( ((struct sockaddr_in *)(ifa->ifa_addr))-> | ||||
|                 sin_addr ), LINE_SIZE ); | ||||
|             out[LINE_SIZE-1] = '\0'; | ||||
|             UpnpPrintf( UPNP_ALL, API, __FILE__, __LINE__, | ||||
|                 "Inside getlocalhostname : after strncpy %s\n", | ||||
|                 out ); | ||||
|             break; | ||||
|         } | ||||
|     } | ||||
|     freeifaddrs(ifap); | ||||
|  | ||||
|     return ifa ? UPNP_E_SUCCESS : UPNP_E_INIT; | ||||
| #else | ||||
|     char szBuffer[MAX_INTERFACES * sizeof( struct ifreq )]; | ||||
|     struct ifconf ifConf; | ||||
|     struct ifreq ifReq; | ||||
|   | ||||
| @@ -173,7 +173,7 @@ int DebugAtThisLevel( | ||||
| 	IN Upnp_LogLevel DLevel, | ||||
| 	IN Dbg_Module Module) | ||||
| { | ||||
| 	int ret = g_log_level >= DLevel; | ||||
| 	int ret = DLevel <= g_log_level; | ||||
| 	ret &= | ||||
| 		DEBUG_ALL || | ||||
| 		(Module == SSDP  && DEBUG_SSDP ) || | ||||
|   | ||||
| @@ -396,7 +396,7 @@ scanner_get_str( IN scanner_t * scanner ) | ||||
| * Note : | ||||
| ************************************************************************/ | ||||
| #warning The only use of the function 'scanner_pushback()' in the code is commented out. | ||||
| #warning 'scanner_pushback()' is a good candidate for removal. | ||||
| #warning 'scanner_pushback()' is a candidate for removal. | ||||
| static UPNP_INLINE void | ||||
| scanner_pushback( INOUT scanner_t * scanner, | ||||
|                   IN size_t pushback_bytes ) | ||||
| @@ -966,7 +966,7 @@ read_until_crlf( INOUT scanner_t * scanner, | ||||
| *   PARSE_INCOMPLETE | ||||
| ************************************************************************/ | ||||
| #warning There are currently no uses of the function 'skip_to_end_of_header()' in the code. | ||||
| #warning 'skip_to_end_of_header()' is a good candidate for removal. | ||||
| #warning 'skip_to_end_of_header()' is a candidate for removal. | ||||
| static UPNP_INLINE int | ||||
| skip_to_end_of_header( INOUT scanner_t * scanner ) | ||||
| { | ||||
|   | ||||
| @@ -231,6 +231,15 @@ sock_read_write( IN SOCKINFO * info, | ||||
|         } | ||||
|     } | ||||
|  | ||||
| #ifdef SO_NOSIGPIPE | ||||
|     { | ||||
| 	int old; | ||||
| 	int set = 1; | ||||
| 	socklen_t olen = sizeof(old); | ||||
| 	getsockopt(sockfd, SOL_SOCKET, SO_NOSIGPIPE, &old, &olen); | ||||
| 	setsockopt(sockfd, SOL_SOCKET, SO_NOSIGPIPE, &set, sizeof(set)); | ||||
| #endif | ||||
|  | ||||
|     if( bRead ) { | ||||
|         // read data | ||||
|         numBytes = recv( sockfd, buffer, bufsize,MSG_NOSIGNAL); | ||||
| @@ -243,6 +252,9 @@ sock_read_write( IN SOCKINFO * info, | ||||
|                 send( sockfd, buffer + bytes_sent, byte_left, | ||||
|                       MSG_DONTROUTE|MSG_NOSIGNAL); | ||||
|             if( num_written == -1 ) { | ||||
| #ifdef SO_NOSIGPIPE | ||||
| 	        setsockopt(sockfd, SOL_SOCKET, SO_NOSIGPIPE, &old, olen); | ||||
| #endif | ||||
|                 return num_written; | ||||
|             } | ||||
|  | ||||
| @@ -253,6 +265,11 @@ sock_read_write( IN SOCKINFO * info, | ||||
|         numBytes = bytes_sent; | ||||
|     } | ||||
|  | ||||
| #ifdef SO_NOSIGPIPE | ||||
| 	setsockopt(sockfd, SOL_SOCKET, SO_NOSIGPIPE, &old, olen); | ||||
|     } | ||||
| #endif | ||||
|  | ||||
|     if( numBytes < 0 ) { | ||||
|         return UPNP_E_SOCKET_ERROR; | ||||
|     } | ||||
|   | ||||
| @@ -640,11 +640,38 @@ parse_hostport( const char *in, | ||||
|         if ( h == NULL ) { | ||||
|             errCode = 1; | ||||
|         } | ||||
| #else | ||||
| #elif defined(__linux__) | ||||
|         errCode = gethostbyname_r( temp_host_name, | ||||
|                                    &h_buf, | ||||
|                                    temp_hostbyname_buff, | ||||
|                                    BUFFER_SIZE, &h, &errcode ); | ||||
| #else | ||||
| { | ||||
|            struct addrinfo hints, *res, *res0; | ||||
|  | ||||
| 	   h = NULL; | ||||
|            memset(&hints, 0, sizeof(hints)); | ||||
|            hints.ai_family = PF_INET; | ||||
|            hints.ai_socktype = SOCK_STREAM; | ||||
|            errCode = getaddrinfo(temp_host_name, "http", &hints, &res0); | ||||
|  | ||||
|            if (!errCode) { | ||||
|                for (res = res0; res; res = res->ai_next) { | ||||
|                    if (res->ai_family == PF_INET && | ||||
|                        res->ai_addr->sa_family == AF_INET) | ||||
|                    { | ||||
|                        h = &h_buf; | ||||
|                        h->h_addrtype = res->ai_addr->sa_family; | ||||
|                        h->h_length = 4; | ||||
|                        h->h_addr = (void *) temp_hostbyname_buff; | ||||
|                        *(struct in_addr *)h->h_addr = | ||||
| 				((struct sockaddr_in *)res->ai_addr)->sin_addr; | ||||
|                        break; | ||||
|                    } | ||||
|                } | ||||
|                freeaddrinfo(res0); | ||||
|            } | ||||
| } | ||||
| #endif  | ||||
|  | ||||
|         if( errCode == 0 ) { | ||||
|   | ||||
| @@ -176,7 +176,6 @@ void UpnpThreadDistribution(struct UpnpNonblockParam * Param); | ||||
| void AutoAdvertise(void *input);  | ||||
| int getlocalhostname(char *out); | ||||
|  | ||||
| virtualDirList *pVirtualDirList; | ||||
| extern WebServerState bWebServerState; | ||||
|  | ||||
| #endif | ||||
|   | ||||
| @@ -159,7 +159,7 @@ ssdp_handle_ctrlpt_msg( IN http_message_t * hmsg, | ||||
|     } | ||||
|  | ||||
|     // dest addr | ||||
|     param.DestAddr = dest_addr; | ||||
|     memcpy(¶m.DestAddr, dest_addr, sizeof(struct sockaddr_in) ); | ||||
|  | ||||
|     // EXT | ||||
|     param.Ext[0] = '\0'; | ||||
| @@ -267,7 +267,7 @@ ssdp_handle_ctrlpt_msg( IN http_message_t * hmsg, | ||||
|             strlen( param.Location ) == 0 || !usn_found || !st_found ) { | ||||
|             return;             // bad reply | ||||
|         } | ||||
|         //check each current search | ||||
|         // check each current search | ||||
|         HandleLock(); | ||||
|         if( GetClientHandleInfo( &handle, &ctrlpt_info ) != HND_CLIENT ) { | ||||
|             HandleUnlock(); | ||||
| @@ -275,14 +275,14 @@ ssdp_handle_ctrlpt_msg( IN http_message_t * hmsg, | ||||
|         } | ||||
|         node = ListHead( &ctrlpt_info->SsdpSearchList ); | ||||
|  | ||||
|         //temporary add null termination | ||||
|         // temporary add null termination | ||||
|         //save_char = hdr_value.buf[ hdr_value.length ]; | ||||
|         //hdr_value.buf[ hdr_value.length ] = '\0'; | ||||
|  | ||||
|         while( node != NULL ) { | ||||
|             searchArg = node->item; | ||||
|             matched = 0; | ||||
|             //check for match of ST header and search target | ||||
|             // check for match of ST header and search target | ||||
|             switch ( searchArg->requestType ) { | ||||
|                 case SSDP_ALL: | ||||
|                     { | ||||
| @@ -327,7 +327,7 @@ ssdp_handle_ctrlpt_msg( IN http_message_t * hmsg, | ||||
|             } | ||||
|  | ||||
|             if( matched ) { | ||||
|                 //schedule call back | ||||
|                 // schedule call back | ||||
|                 threadData = | ||||
|                     ( ResultData * ) malloc( sizeof( ResultData ) ); | ||||
|                 if( threadData != NULL ) { | ||||
| @@ -366,7 +366,7 @@ ssdp_handle_ctrlpt_msg( IN http_message_t * hmsg, | ||||
| * | ||||
| ***************************************************************************/ | ||||
| #warning There are currently no uses of the function 'process_reply()' in the code. | ||||
| #warning 'process_reply()' is a good candidate for removal. | ||||
| #warning 'process_reply()' is a candidate for removal. | ||||
| static UPNP_INLINE void | ||||
| process_reply( IN char *request_buf, | ||||
|                IN int buf_len, | ||||
|   | ||||
| @@ -32,6 +32,7 @@ | ||||
| #include "config.h" | ||||
| #include <assert.h> | ||||
| #ifndef WIN32 | ||||
|  #include <sys/types.h> | ||||
|  #include <sys/socket.h> | ||||
|  #include <netinet/in.h> | ||||
|  #include <arpa/inet.h> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user