Compare commits
	
		
			78 Commits
		
	
	
		
			release-1.
			...
			branch-1.6
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | bc335f5df7 | ||
|   | cf31814e55 | ||
|   | 3b0fd070fd | ||
|   | 9f69fb1b80 | ||
|   | c124ae6507 | ||
|   | 51a01cdba1 | ||
|   | 6905714a7e | ||
|   | 72460df747 | ||
|   | a596abfbe3 | ||
|   | fbbb24f406 | ||
|   | 0508fb0d6e | ||
|   | 848d66e69d | ||
|   | 04fb684323 | ||
|   | faaef39a3c | ||
|   | a1193f385e | ||
|   | c20f2bd3a1 | ||
|   | 3fc0f9ad1d | ||
|   | 2211cc14e6 | ||
|   | bf60dc06e0 | ||
|   | 908785fba7 | ||
|   | 1a28e8ff51 | ||
|   | 89ad5e6779 | ||
|   | 062ac0c926 | ||
|   | 06aa3b17c4 | ||
|   | 9f444a680e | ||
|   | 8e3a71905b | ||
|   | 72c29ef1f6 | ||
|   | f6a3102b48 | ||
|   | 9a9c4e829e | ||
|   | 7a571f513e | ||
|   | f10730f616 | ||
|   | c70f5ce323 | ||
|   | a3c540bc9b | ||
|   | 7b1aa4c9e3 | ||
|   | 907c7c2621 | ||
|   | 25c27b8af7 | ||
|   | dcbbc30f5c | ||
|   | 3509991872 | ||
|   | 6279b7fa5f | ||
|   | 6cd1f11154 | ||
|   | f015a132e8 | ||
|   | 40e90e89fc | ||
|   | 40ddff1096 | ||
|   | 692813d03e | ||
|   | d9e90499b7 | ||
|   | 6db2271ac3 | ||
|   | 4d21d45da7 | ||
|   | 708ea30806 | ||
|   | 39dfad2cba | ||
|   | 3d7c1dbd59 | ||
|   | e52e7e0bd3 | ||
|   | d5d680d131 | ||
|   | 7ee266076d | ||
|   | 90fad896c4 | ||
|   | 0ea9c438e5 | ||
|   | c661180d15 | ||
|   | 1a98394781 | ||
|   | 89fe655aee | ||
|   | d72bb5cff5 | ||
|   | e02753736a | ||
|   | 1c21e6e54f | ||
|   | a383cbb8e2 | ||
|   | 34a77cc095 | ||
|   | e10bc2ec0c | ||
|   | 777c936f4c | ||
|   | 04c1bf3fb0 | ||
|   | ab792e4223 | ||
|   | d0b16d056e | ||
|   | dc4eda529f | ||
|   | c154c63cdc | ||
|   | 49af91fe48 | ||
|   | df27ba505f | ||
|   | 9a33782ab5 | ||
|   | e0e81e6cd2 | ||
|   | 02afbb09c9 | ||
|   | 804088d859 | ||
|   | 679ebeec48 | ||
|   | 19ec877b2a | 
							
								
								
									
										15
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -73,6 +73,14 @@ GRTAGS | |||||||
| GSYMS | GSYMS | ||||||
| GTAGS | GTAGS | ||||||
|  |  | ||||||
|  | # QT-Creator files | ||||||
|  | Makefile.am.user | ||||||
|  | pupnp.config | ||||||
|  | pupnp.creator | ||||||
|  | pupnp.creator.user | ||||||
|  | pupnp.files | ||||||
|  | pupnp.includes | ||||||
|  |  | ||||||
| *.orig | *.orig | ||||||
| *~ | *~ | ||||||
| \#*# | \#*# | ||||||
| @@ -101,5 +109,12 @@ upnp/inc/upnpconfig.h | |||||||
| upnp/sample/tv_combo | upnp/sample/tv_combo | ||||||
| upnp/sample/tv_ctrlpt | upnp/sample/tv_ctrlpt | ||||||
| upnp/sample/tv_device | upnp/sample/tv_device | ||||||
|  | upnp/unittest/unittest | ||||||
|  | upnp/unittest/*.pp.c | ||||||
| docs/doxygen | docs/doxygen | ||||||
|  |  | ||||||
|  |  | ||||||
|  | /build/vc10/out.vc9.Win32/Debug | ||||||
|  | /build/vc10/out.vc10.Win32 | ||||||
|  | /build/vc10/out.vc10.x64 | ||||||
|  | /pthreads | ||||||
|   | |||||||
							
								
								
									
										473
									
								
								ChangeLog
									
									
									
									
									
								
							
							
						
						
									
										473
									
								
								ChangeLog
									
									
									
									
									
								
							| @@ -1,3 +1,476 @@ | |||||||
|  | ******************************************************************************* | ||||||
|  | Version 1.6.20 | ||||||
|  | ******************************************************************************* | ||||||
|  |  | ||||||
|  | 2015-02-04 Shaun Marko <semarko@users.sf.net> | ||||||
|  |  | ||||||
|  |         Bug tracker #124 Build fails with --enable-debug | ||||||
|  |  | ||||||
|  |         Build environment | ||||||
|  |         Fedora 21 | ||||||
|  |         X86-64 | ||||||
|  |         * gcc 4.9.2 | ||||||
|  |  | ||||||
|  |         How to repeat | ||||||
|  |         $ ./configure --enable debug | ||||||
|  |         $ make | ||||||
|  |         libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I../upnp/inc -I./inc -I../threadutil/inc | ||||||
|  |         -I../ixml/inc -I./src/inc -pthread -g -O2 -Wall -MT src/api/libupnp_la-UpnpString.lo | ||||||
|  |         -MD -MP -MF src/api/.deps/libupnp_la-UpnpString.Tpo -c src/api/UpnpString.c | ||||||
|  |         -fPIC -DPIC -o src/api .libs/libupnp_la-UpnpString.o src/api/UpnpString.c:47:16: | ||||||
|  |         error: expected identifier or '(' before 'extension' | ||||||
|  |         extern char *strndup(const char *string, size_t __n); | ||||||
|  |         ^ | ||||||
|  |         Makefile:1016: recipe for target 'src/api/libupnp_la-UpnpString.lo' failed | ||||||
|  |  | ||||||
|  |         Reason for failure | ||||||
|  |         Build enables -O2 optimization flags which causes the inclusion of a | ||||||
|  |         macro implementation of strndup from include/bits/string2.h. | ||||||
|  |  | ||||||
|  |         Workarounds | ||||||
|  |         Disable optimization when configuring or making: | ||||||
|  |         $ configure CFLAGS='-g -pthread -O0' --enable-debug | ||||||
|  |         $ make | ||||||
|  |         or | ||||||
|  |         $ configure --enable-debug | ||||||
|  |         $ make CFLAGS='-g -pthread -O0' Define NO_STRING_INLINES | ||||||
|  |         $ export CFLAGS="-DNO_STRING_INLINES -O2" | ||||||
|  |         $ ./configure --enagble-debug | ||||||
|  |         $ make | ||||||
|  |  | ||||||
|  |         Fix | ||||||
|  |         * Don't declare strndup in src/api/UpnpString.c if it exists | ||||||
|  |  | ||||||
|  | 2015-02-01 Jean-Francois Dockes <medoc@users.sf.net> | ||||||
|  |  | ||||||
|  |         Out-of-tree builds seem to be currently broken, because ixml and | ||||||
|  |         threadutil files need an include path to include UpnpGlobal.h, and | ||||||
|  |         configure tries to copy files into a directory which it does not create. | ||||||
|  |         The patch fixes both issues. | ||||||
|  |  | ||||||
|  | 2014-01-03 Peng <howtofly(at)gmail.com> | ||||||
|  |  | ||||||
|  | 	rewrite soap_device.c | ||||||
|  |  | ||||||
|  | 	1) separate HTTP handling from SOAP handling | ||||||
|  | 	2) remove repeated validity check, each check is performed exactly once | ||||||
|  | 	3) fix HTTP status code per UPnP spec, SOAP spec and RFC 2774 | ||||||
|  |  | ||||||
|  | ******************************************************************************* | ||||||
|  | Version 1.6.19 | ||||||
|  | ******************************************************************************* | ||||||
|  |  | ||||||
|  | 2013-11-14 Marcelo Roberto Jimenez <mroberto(at)users.sourceforge.net> | ||||||
|  |  | ||||||
|  | 	SF Bug Tracker #119, Creator: Klaus Fischer | ||||||
|  | 	Access violation due to changed usage of pthreads-win32 | ||||||
|  |  | ||||||
|  | 	Dear libupnp developers, | ||||||
|  |  | ||||||
|  | 	I have experienced a crash (access violation) when using libupnp on | ||||||
|  | 	Windows. The crash is actually located in pthreads-win32 and happens | ||||||
|  | 	when repeatedly de-/initializing libupnp on Win32 in the same process | ||||||
|  | 	and both libupnp and pthreads-win32 are compiled as static libraries. | ||||||
|  |  | ||||||
|  | 	So I'm doing this: | ||||||
|  | 	- UpnpInit() | ||||||
|  | 	- UpnpFinish() | ||||||
|  | 	- UpnpInit() <- Crash | ||||||
|  |  | ||||||
|  | 	I am already in touch with Ross Johnson on the pthreads-win32 mailing | ||||||
|  | 	list regarding this issue: | ||||||
|  |  | ||||||
|  | 	http://sourceware.org/ml/pthreads-win32/2013/msg00020.html | ||||||
|  |  | ||||||
|  | 	He told me the problem is that the functions | ||||||
|  | 	pthread_win32_process_attach/detach_np() should no longer be called | ||||||
|  | 	directly, but are invoked automatically now since version 2.9.0 of | ||||||
|  | 	pthreads-win32, which has been released approx. 1.5 years ago. Please | ||||||
|  | 	refer to above link for in-depth information. | ||||||
|  |  | ||||||
|  | 	So for proper using of latest pthreads-win32 library, those function | ||||||
|  | 	calls should vanish inside libupnp. Could you consider adapting libupnp | ||||||
|  | 	in that way? I would really like to use both libraries out-of-the-box | ||||||
|  | 	without local modifications, and this issue prevents that. | ||||||
|  |  | ||||||
|  | 	Best regards, | ||||||
|  | 	Klaus | ||||||
|  |  | ||||||
|  | 2013-11-08 Peng <howtofly(at)gmail.com> | ||||||
|  |  | ||||||
|  | 	Fix several minor bugs in soap_device.c | ||||||
|  |  | ||||||
|  | 	1) remove redundant free | ||||||
|  | 	2) avoid user-provided ErrStr being overwritten by the default one | ||||||
|  | 	3) eliminated memory leak possiblity in handle_query_variable | ||||||
|  |  | ||||||
|  | 2013-11-08 Peng <howtofly(at)gmail.com> | ||||||
|  |  | ||||||
|  | 	Fix return value check of parse_uri. | ||||||
|  |  | ||||||
|  | 2012-06-19 Yoichi NAKAYAMA <yoichi.nakayama(at)gmail.com> | ||||||
|  |  | ||||||
|  | 	SF Bug Tracker #118, Creator: T.Iwamoto | ||||||
|  | 	tv_ctrlpt crashes after detecting a later version of tvcontrol service | ||||||
|  |  | ||||||
|  | 	From:  gon3456@users.sf.net | ||||||
|  | 	Steps to reproduce: | ||||||
|  | 	1. Extracts and build libupnp-1.6.18 | ||||||
|  | 	$ tar -xjf /path/to/archive/libupnp-1.6.18.tar.bz2 | ||||||
|  | 	$ cd libupnp-1.6.18 | ||||||
|  | 	$ ./configure | ||||||
|  | 	$ make | ||||||
|  | 	2. Applies the attached patch and remake. | ||||||
|  | 	$ patch -p1 < /path/to/patch/libupnp-1.6.18.patch | ||||||
|  | 	$ make | ||||||
|  | 	3. Run tv_device. | ||||||
|  | 	$ cd upnp/sample | ||||||
|  | 	$ ./tv_device | ||||||
|  | 	4. Run tv_ctrlpt; the tv_ctrlpt crashes soon. | ||||||
|  | 	$ ./tv_ctrlpt | ||||||
|  | 	Segmentation fault (core dumped) | ||||||
|  | 	This is an issue report about the sample program of control point. | ||||||
|  | 	The tv_ctrlpt crashes after detecting a tvdevice that contains tvcontrol:2 or higher version of tvcontrol service. | ||||||
|  | 	tv_ctrlpt should detect correctly such devices due to forward compatibility of control points with device. | ||||||
|  | 	For more information about the compatibility, please refer the following document: | ||||||
|  | 	DLNA Architectures and Protocols Part 1 2011 December - 7.3.2.1.3 (GUN:GZJXU) | ||||||
|  | 	The attached patch changes the sample programs as below: | ||||||
|  | 	- device: changes version of tvcontrol service from 1 to 2. This change may occur in the future. | ||||||
|  | 	- cp: nothing changed: cp knows version 1 of tvcontrol service only. | ||||||
|  | 	I know many vendors implements their control points based on the tv_ctrlpt, so I hope to fix this issue ASAP. | ||||||
|  |  | ||||||
|  | 	== | ||||||
|  |  | ||||||
|  | 	From: Yoichi NAKAYAMA | ||||||
|  | 	SEGV is caused by strcpy with NULL argument. | ||||||
|  | 	Attached patch will avoid SEGV in strcpy, but there may be other inconsistencies. | ||||||
|  |  | ||||||
|  | 	> I know many vendors implements their control points based on the tv_ctrlpt, | ||||||
|  |  | ||||||
|  | 	I don't think so. I think tv_ctrlpt is just a sample to be used with tv_device. | ||||||
|  |  | ||||||
|  | 2013-10-28 Pino Toscano <pinotree(at)users.sourceforge.net> | ||||||
|  |  | ||||||
|  | 	Fix compilation on GNU/Hurd | ||||||
|  |  | ||||||
|  | 2013-10-28 Peng <howtofly(at)gmail.com> | ||||||
|  |  | ||||||
|  | 	Fix return value of http_RecvPostMessage and update httpparser.c's comments | ||||||
|  |  | ||||||
|  | 2013-10-17 Peng <howtofly(at)gmail.com> | ||||||
|  |  | ||||||
|  | 	Fix return value of process_request and related subroutines | ||||||
|  | 	1) Only HTTP_XXX should be return | ||||||
|  | 	2) Make default return value work for process_request | ||||||
|  |  | ||||||
|  | 2013-10-15 Peng <howtofly(at)gmail.com> | ||||||
|  |  | ||||||
|  | 	Fix Content-Range generation bug | ||||||
|  |  | ||||||
|  | 2013-09-10 zexian chen <chenzexian88(at)gmail.com> | ||||||
|  |  | ||||||
|  | 	Hi, | ||||||
|  |  | ||||||
|  | 	I had found some bugs about memory leak on libupnp-1.6.18.  | ||||||
|  |  | ||||||
|  | 	It may lead to memory leak  when calling ThreadPoolAdd() or | ||||||
|  | 	ThreadPoolAddPersistent() which does not return 0.  | ||||||
|  |  | ||||||
|  | 	See the attachment for patch. | ||||||
|  |  | ||||||
|  | 2013-09-03 Peng <howtofly(at)gmail.com> | ||||||
|  |  | ||||||
|  | 	Fix return value of config_description_doc. | ||||||
|  |  | ||||||
|  | 	UPNP_E_XXX should not be used instead of IXML_XXX | ||||||
|  |  | ||||||
|  | 2013-09-03 Peng <howtofly(at)gmail.com> | ||||||
|  |  | ||||||
|  | 	Remove faulty free in GetDescDocumentAndURL. | ||||||
|  |  | ||||||
|  | 	temp_str, which points to part of description, should not be freed. | ||||||
|  |  | ||||||
|  | 2013-09-02 Peng <howtofly(at)gmail.com> | ||||||
|  |  | ||||||
|  | 	Suppose the UPnP device is listening on 192.168.1.102:49152. Use the following to send | ||||||
|  | 	garbage bytes to the device: | ||||||
|  | 	while true; do echo "\""; done | netcat 192.168.1.102 49152 | ||||||
|  |  | ||||||
|  | 	The device just keeps receiving these bytes and its memory usage keeps growing. | ||||||
|  | 	Malicious client may exploit it to exhaust the device's memory. | ||||||
|  |  | ||||||
|  | 	The attached patch eliminates this possibility. | ||||||
|  |  | ||||||
|  | 2013-09-02 Peng <howtofly(at)gmail.com> | ||||||
|  |  | ||||||
|  | 	1) restore the scanner's original cursor position in case of | ||||||
|  | 	   insufficient input; | ||||||
|  | 	2) free the memories allocated for a new header in case of a failure. | ||||||
|  |  | ||||||
|  | 2013-08-13 Peng <howtofly(at)gmail.com> | ||||||
|  |  | ||||||
|  | 	Patch to fix behaviou when char is signed | ||||||
|  |  | ||||||
|  | 	it seems to me that there is still something wrong: | ||||||
|  |  | ||||||
|  | 	1)  the new is_qdtext_char() is incorrect. | ||||||
|  | 	There is a trap if char is implemented as signed char. | ||||||
|  | 	Suppose that c is '\xFF', it will be -1 when converted to an int. | ||||||
|  | 	By definition, c should be qdtext: | ||||||
|  | 	qdtext = <any TEXT except <">> | ||||||
|  | 	TEXT = <any OCTET except CTLs, but including LWS> | ||||||
|  | 	OCTET = <any 8-bit sequence of data> | ||||||
|  |  | ||||||
|  | 	2) the character after '\\' could be either part of a quoted-pair | ||||||
|  | 	(together with '\\'), or a normal qdtext, since '\\' itself can | ||||||
|  | 	be treated as a qdtext. This is equivalent to saying that the | ||||||
|  | 	character after '\\' in a quoted string could be ANY octet. | ||||||
|  |  | ||||||
|  | 	A patch based on the above two observations is attached. | ||||||
|  |  | ||||||
|  | 	Peng | ||||||
|  |  | ||||||
|  | 2013-08-13 Marcelo Roberto Jimenez <mroberto(at)users.sourceforge.net> | ||||||
|  |  | ||||||
|  | 	Enforce RFC 2616 and accept "0" after a backslash for quoted-strings. | ||||||
|  |  | ||||||
|  | 	Reported by Peng <howtofly(at)gmail.com> | ||||||
|  |  | ||||||
|  | 2013-08-13 Peng <howtofly(at)gmail.com> | ||||||
|  |  | ||||||
|  | 	Patch to make scanner_get_token more robust (avoid over-reading). | ||||||
|  |  | ||||||
|  | 2013-07-30 Zheng Peng <darkelf2010(at)users.sf.net> | ||||||
|  |  | ||||||
|  | 	SF ticket #116 UpnpRemoveVirtualDir wrong linked list operation | ||||||
|  |  | ||||||
|  | 	What if pVirtualDirList has two nodes and what we want to delete is the | ||||||
|  | 	first one. Patch attached. | ||||||
|  |  | ||||||
|  | 2013-07-30 Sebastian Brandt <s.brandt(at)aixtrusion.de> | ||||||
|  |  | ||||||
|  | 	Dear libupnp-devels, | ||||||
|  | 	when POST'ing to the simple web server in libupnp, the application crashes. | ||||||
|  | 	This is caused by a missing "..." argument in webserver.c:1533. | ||||||
|  | 	Seems it has been there for a long time ... 1.6.9 and 1.6.18 have it. | ||||||
|  |  | ||||||
|  | 	webserver.c:1533 calls http_MakeMessage | ||||||
|  | 	/* Send response. */ | ||||||
|  | 	http_MakeMessage(&headers, 1, 1, | ||||||
|  | 		 "RTLSXcCc", | ||||||
|  | 		 ret, "text/html", X_USER_AGENT); | ||||||
|  | 	The format parameter RTLSXcCc needs four arguments - | ||||||
|  | 	R - response code - ret, | ||||||
|  | 	T- content type - text/html, | ||||||
|  | 	L - struct SendInstruction * - NOT PRESENT | ||||||
|  | 	X - user agent - X_USER_AGENT | ||||||
|  |  | ||||||
|  | 	This results in a crash. | ||||||
|  |  | ||||||
|  | 	Changing to | ||||||
|  | 	http_MakeMessage(&headers, 1, 1, | ||||||
|  | 		 "RTLSXcCc", | ||||||
|  | 		 ret, "text/html", &RespInstr, X_USER_AGENT); | ||||||
|  | 	solves the situation. | ||||||
|  |  | ||||||
|  | 	Yours, | ||||||
|  | 	Sebastian Brandt | ||||||
|  |  | ||||||
|  | ******************************************************************************* | ||||||
|  | Version 1.6.18 | ||||||
|  | ******************************************************************************* | ||||||
|  |  | ||||||
|  | 2012-12-06 Marcelo Roberto Jimenez <mroberto(at)users.sourceforge.net> | ||||||
|  |  | ||||||
|  | 	Security fix for CERT issue VU#922681 | ||||||
|  |  | ||||||
|  | 	This patch addresses three possible buffer overflows in function | ||||||
|  | 	unique_service_name(). The three issues have the folowing CVE numbers: | ||||||
|  |  | ||||||
|  | 	CVE-2012-5958 Issue #2: Stack buffer overflow of Tempbuf | ||||||
|  | 	CVE-2012-5959 Issue #4: Stack buffer overflow of Event->UDN | ||||||
|  | 	CVE-2012-5960 Issue #8: Stack buffer overflow of Event->UDN | ||||||
|  |  | ||||||
|  | 	Notice that the following issues have already been dealt by previous | ||||||
|  | 	work: | ||||||
|  |  | ||||||
|  | 	CVE-2012-5961 Issue #1: Stack buffer overflow of Evt->UDN | ||||||
|  | 	CVE-2012-5962 Issue #3: Stack buffer overflow of Evt->DeviceType | ||||||
|  | 	CVE-2012-5963 Issue #5: Stack buffer overflow of Event->UDN | ||||||
|  | 	CVE-2012-5964 Issue #6: Stack buffer overflow of Event->DeviceType | ||||||
|  | 	CVE-2012-5965 Issue #7: Stack buffer overflow of Event->DeviceType | ||||||
|  |  | ||||||
|  | 2012-06-19 Yoichi NAKAYAMA <yoichi.nakayama(at)gmail.com> | ||||||
|  |  | ||||||
|  | 	Fix memory leak and access violation in UpnpSendAction(Ex)Async. | ||||||
|  |  | ||||||
|  | 	Free buffers after malloc or ixmlPrintNode failure. | ||||||
|  | 	Free Param->Header before destructing Param. | ||||||
|  |  | ||||||
|  | 2012-05-25 Anoop Mohan <anoop.anoop(at)gmail.com> | ||||||
|  |  | ||||||
|  | 	This patch fixes a bug in non blocking connect call where the sock | ||||||
|  | 	option length for SO_ERROR was passed as 0 instead of sizeof(int). | ||||||
|  |  | ||||||
|  | 2012-04-24 Yoichi NAKAYAMA <yoichi.nakayama(at)gmail.com> | ||||||
|  |  | ||||||
|  | 	Disable SetGenaCallback call if device is disabled. | ||||||
|  |  | ||||||
|  | 	If device is disabled, SetGenaCallback definition is disabled, | ||||||
|  | 	but its call remains. A link error will occur in Win32. | ||||||
|  |  | ||||||
|  | 2012-04-21 Yoichi NAKAYAMA <yoichi.nakayama(at)gmail.com> | ||||||
|  |  | ||||||
|  | 	Fix condition for allocation failure in get_content_type(). | ||||||
|  |  | ||||||
|  | 	At the end of get_content_type() in webserver.c, it should check | ||||||
|  | 	return value of ixmlCloneDOMString(). | ||||||
|  |  | ||||||
|  | 2012-04-21 Yoichi NAKAYAMA <yoichi.nakayama(at)gmail.com> | ||||||
|  |  | ||||||
|  | 	Fix problems detected as dead assignment warning by clang scan-build. | ||||||
|  |  | ||||||
|  | 	Wrong assignment by shutdown result hides the real error code | ||||||
|  | 	of NewRequestHandler() in ssdp_device.c. | ||||||
|  | 	Fix return code description of NewRequestHandler(). | ||||||
|  | 	Handle return code from ithread_create in sample applications. | ||||||
|  | 	Remove unused assignments. | ||||||
|  |  | ||||||
|  | 2012-04-20 Yoichi NAKAYAMA <yoichi.nakayama(at)gmail.com> | ||||||
|  |  | ||||||
|  | 	Avoid dereference of null pointer in ixmlNode_setNodeProperties. | ||||||
|  |  | ||||||
|  | 	The problem can occur if one of the arguments is NULL. | ||||||
|  | 	Test argument and fix assertion. | ||||||
|  |  | ||||||
|  | 2012-04-17 Yoichi NAKAYAMA <yoichi.nakayama(at)gmail.com> | ||||||
|  |  | ||||||
|  | 	Create intermediate directory per project on vc9. | ||||||
|  |  | ||||||
|  | 	Sample applications share sample_util.c and collisions of | ||||||
|  | 	object file can occur in parallel build. Modify project files to | ||||||
|  | 	split intermediate directories against it. | ||||||
|  | 	Apply similar changes also to library projects, like vc10 projects. | ||||||
|  |  | ||||||
|  | 2012-04-11 Yoichi NAKAYAMA <yoichi.nakayama(at)gmail.com> | ||||||
|  |  | ||||||
|  | 	Avoid access violation after parser_parse_chunky_headers call. | ||||||
|  |  | ||||||
|  | 	In parser_parse_chunky_headers, parser->msg.msg.buf can be changed | ||||||
|  | 	by membuffer_delete call. Therefore if we save the pointer to | ||||||
|  | 	parser->msg.entity.buf before calling membuffer_delete, it will | ||||||
|  | 	induce access to released memory. | ||||||
|  |  | ||||||
|  | 2012-04-06 Yoichi NAKAYAMA <yoichi.nakayama(at)gmail.com> | ||||||
|  |  | ||||||
|  | 	Remove possibility of access violation. | ||||||
|  |  | ||||||
|  | 	1. Test Instr before dereference it in http_RecvPostMessage. | ||||||
|  | 	(Though it never becomes NULL because NULL is not passed to | ||||||
|  | 	the static method) | ||||||
|  | 	2. Avoid strdup(NULL) in ixmlElement_setAttributeNS. | ||||||
|  | 	Those are detected by llvm scan-build. | ||||||
|  |  | ||||||
|  | 2012-04-05 Yoichi NAKAYAMA <yoichi.nakayama(at)gmail.com> | ||||||
|  |  | ||||||
|  | 	SF Bug Tracker id 3507819 - Use of thread-unsafe gmtime() in httpreadwrite.c | ||||||
|  |  | ||||||
|  | 	Submitted: zephyrus ( zephyrus00jp ) - 2012-03-18 06:31:00 PDT | ||||||
|  |  | ||||||
|  | 	Define http_gmtime_r and web_server_asctime_r and use it. | ||||||
|  | 	Those prefix are added since pthread for Win32 already | ||||||
|  | 	has macro gmtime_r and asctime_r. | ||||||
|  |  | ||||||
|  | 2012-04-05 Yoichi NAKAYAMA <yoichi.nakayama(at)gmail.com> | ||||||
|  |  | ||||||
|  | 	Fix type of local variable stopSock in RunMiniServer() | ||||||
|  |  | ||||||
|  | 	The variable is declared as SOCKET, but it is used to | ||||||
|  | 	store return value of int receive_from_stopSock(...). | ||||||
|  | 	The type was changed in the commit | ||||||
|  | 	4b47e6a51d9c7049a862695b68de75699e023551 by mistake. | ||||||
|  |  | ||||||
|  | 2012-04-03 Fabrice Fontaine <fabrice.fontaine(at)orange.com> | ||||||
|  |  | ||||||
|  | 	Compilation optimisation | ||||||
|  |  | ||||||
|  | 	Do not compile the code related to the webserver in http_SendMessage | ||||||
|  | 	when --disable-webserver is set | ||||||
|  |  | ||||||
|  | ******************************************************************************* | ||||||
|  | Version 1.6.17 | ||||||
|  | ******************************************************************************* | ||||||
|  |  | ||||||
|  | 2012-04-02 Fabrice Fontaine <fabrice.fontaine(at)orange.com> | ||||||
|  |  | ||||||
|  | 	SF Bug Tracker id 3514145 - Memory leak fix in threadutil | ||||||
|  |  | ||||||
|  | 	Submitted: Fabrice Fontaine ( ffontaine ) - 2012-04-02 06:49:20 PDT | ||||||
|  |  | ||||||
|  | 	Put thread in a detached state when calling ithread_create otherwise in | ||||||
|  | 	some circumstances, thread can end before the call to ithread_detach. | ||||||
|  |  | ||||||
|  | 2012-03-30 Fabrice Fontaine <fabrice.fontaine(at)orange.com> | ||||||
|  |  | ||||||
|  | 	Add --enable-unspecified_server | ||||||
|  |  | ||||||
|  | 	Add --enable-unspecified_server configure option to set to "Unspecified" | ||||||
|  | 	the OS name, OS version, product name and product version normally | ||||||
|  | 	contained in the SERVER header as this could be used by an attacker. | ||||||
|  |  | ||||||
|  | 2012-03-29 Fabrice Fontaine <fabrice.fontaine(at)orange.com> | ||||||
|  |  | ||||||
|  | 	Removing implicit casts in miniserver.c | ||||||
|  |  | ||||||
|  | 	Removing implicit integer or enum casts in miniserver.c. | ||||||
|  |  | ||||||
|  | 2012-03-29 Fabrice Fontaine <fabrice.fontaine(at)orange.com> | ||||||
|  |  | ||||||
|  | 	SF Bug Tracker id 3512833 - Miniserver is wrongly disabled | ||||||
|  |  | ||||||
|  | 	Submitted: Fabrice Fontaine ( ffontaine ) - 2012-03-29 07:36:34 PDT | ||||||
|  |  | ||||||
|  | 	Miniserver is disabled if ECXLUDE_GENA, EXCLUDE_SOAP and | ||||||
|  | 	EXCLUDE_WEBSERVER are set. | ||||||
|  | 	However, SSDP needs the Miniserver to answer to M-SEARCH requests. | ||||||
|  | 	So, MiniServer should not be disabled if EXCLUDE_SSDP is not also set. | ||||||
|  |  | ||||||
|  | 2012-03-26 Yoichi NAKAYAMA <yoichi.nakayama(at)gmail.com> | ||||||
|  |  | ||||||
|  | 	SF Bug Tracker id 3510693 - build fail with --disable-device | ||||||
|  |  | ||||||
|  | 	Use INCLUDE_DEVICE_APIS instead of UPNP_HAVE_DEVICE as in other sources. | ||||||
|  | 	Don't use soap_device_callback if INCLUDE_DEVICE_APIS is not set, | ||||||
|  | 	otherwise link error occur on Windows. | ||||||
|  |  | ||||||
|  | 2012-03-26 Fabrice Fontaine <fabrice.fontaine(at)orange.com> | ||||||
|  |  | ||||||
|  | 	SF Bug Tracker id 3511149 - --disable-ssdp has no effect | ||||||
|  |  | ||||||
|  | 	Submitted: Yoichi NAKAYAMA ( yoichi ) - 2012-03-25 18:14:34 PDT | ||||||
|  |  | ||||||
|  | 	There are typos in upnp/src/inc/config.h "EXCLUDE_SSSDP" (shold be | ||||||
|  | 	EXCLUDE_SSDP), therefore EXCLUDE_SSDP is always 0, and --disable-ssdp | ||||||
|  | 	has no effect. | ||||||
|  |  | ||||||
|  | 2012-03-24 Fabrice Fontaine <fabrice.fontaine(at)orange.com> | ||||||
|  |  | ||||||
|  | 	Remove implicit casts | ||||||
|  |  | ||||||
|  | 	Cast parameters of htonl in uint32_t in IN6_IS_ADDR_GLOBAL and | ||||||
|  | 	IN6_IS_ADDR_ULA definitions. | ||||||
|  | 	Remove comparison with 0 in while statement of vfmatch, | ||||||
|  | 	http_SendMessage and http_MakeMessage. | ||||||
|  |  | ||||||
|  | 2012-03-24 Yoichi NAKAYAMA <yoichi.nakayama(at)gmail.com> | ||||||
|  |  | ||||||
|  | 	SF Bug Tracker id 3510693 - build fail with --disable-device | ||||||
|  |  | ||||||
|  | 	GetDeviceHandleInfo just fail without using undefined member DeviceAf | ||||||
|  | 	if UPNP_HAVE_DEVICE is not defined. | ||||||
|  | 	Move ContentTypeHeader definition to soap_common.c, since it is | ||||||
|  | 	also used in soap_ctrlpt.c. | ||||||
|  |  | ||||||
| ******************************************************************************* | ******************************************************************************* | ||||||
| Version 1.6.16 | Version 1.6.16 | ||||||
| ******************************************************************************* | ******************************************************************************* | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								Doxyfile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Doxyfile
									
									
									
									
									
								
							| @@ -31,7 +31,7 @@ PROJECT_NAME           = libUPnP | |||||||
| # This could be handy for archiving the generated documentation or  | # This could be handy for archiving the generated documentation or  | ||||||
| # if some version control system is used. | # if some version control system is used. | ||||||
|  |  | ||||||
| PROJECT_NUMBER         = 1.6.16 | PROJECT_NUMBER         = 1.6.20 | ||||||
|  |  | ||||||
| # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)  | # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)  | ||||||
| # base path where the generated documentation will be put.  | # base path where the generated documentation will be put.  | ||||||
|   | |||||||
							
								
								
									
										12
									
								
								README
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								README
									
									
									
									
									
								
							| @@ -266,12 +266,24 @@ In order to build libupnp under Windows the pthreads-w32 package is required. | |||||||
| You can download a self-extracting ZIP file from the following location: | You can download a self-extracting ZIP file from the following location: | ||||||
|  |  | ||||||
| ftp://sources.redhat.com/pub/pthreads-win32/pthreads-w32-2-7-0-release.exe | ftp://sources.redhat.com/pub/pthreads-win32/pthreads-w32-2-7-0-release.exe | ||||||
|  | or possibly newer versions if available. | ||||||
|  |  | ||||||
| Execute the self-extracting archive and copy the Pre-build.2 folder to the | Execute the self-extracting archive and copy the Pre-build.2 folder to the | ||||||
| top level source folder. | top level source folder. | ||||||
| Rename Pre-build.2 to pthreads.  | Rename Pre-build.2 to pthreads.  | ||||||
| Open the provided workspace build\libupnp.dsw with Visual C++ 6.0 and select | Open the provided workspace build\libupnp.dsw with Visual C++ 6.0 and select | ||||||
| Build->Build libupnp.dll (F7) | Build->Build libupnp.dll (F7) | ||||||
|  | In the build directory there are also VC8, VC9 and VC10 folders containing | ||||||
|  | solution files for Visual Studio 2005/2008/2010 respectively. | ||||||
|  |  | ||||||
|  | If you use newer versions to build libupnp, eg Visual Studio 2003 or later, | ||||||
|  | then you need to rebuild the pthreads package so it uses the same VC runtime | ||||||
|  | as libupnp to prevent cross boundary runtime problems | ||||||
|  | (see http://msdn.microsoft.com/en-us/library/ms235460%28v=VS.100%29.aspx). | ||||||
|  | Just replace the files in the Pre-build.2 folder (renamed to pthreads as | ||||||
|  | mentioned above) with the newly build versions. | ||||||
|  | If you also use a newer version of pthreads-win32 then you should also | ||||||
|  | replace the header files in that directory structure (obviously). | ||||||
|  |  | ||||||
| For building a static library instead of a DLL and for using the static | For building a static library instead of a DLL and for using the static | ||||||
| pthreads-w32 library following switches need to be defined additionally: | pthreads-w32 library following switches need to be defined additionally: | ||||||
|   | |||||||
							
								
								
									
										13
									
								
								THANKS
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								THANKS
									
									
									
									
									
								
							| @@ -8,6 +8,7 @@ exempt of errors. | |||||||
|  |  | ||||||
| - Alex (afaucher) | - Alex (afaucher) | ||||||
| - Andre Sodermans (wienerschnitzel) | - Andre Sodermans (wienerschnitzel) | ||||||
|  | - Anoop Mohan (an00p) | ||||||
| - Anthony Viallard (homer242) | - Anthony Viallard (homer242) | ||||||
| - Apostolos Syropoulos | - Apostolos Syropoulos | ||||||
| - Arno Willig | - Arno Willig | ||||||
| @@ -22,6 +23,7 @@ exempt of errors. | |||||||
| - Craig Nelson | - Craig Nelson | ||||||
| - David Blanchet | - David Blanchet | ||||||
| - David Maass | - David Maass | ||||||
|  | - Dirk (dirk_vdb) | ||||||
| - Emil Ljungdahl | - Emil Ljungdahl | ||||||
| - Erik Johansson | - Erik Johansson | ||||||
| - Eric Tanguy | - Eric Tanguy | ||||||
| @@ -30,11 +32,13 @@ exempt of errors. | |||||||
| - Fabrice Fontaine (ffontaine) | - Fabrice Fontaine (ffontaine) | ||||||
| - Fredrik Svensson | - Fredrik Svensson | ||||||
| - Glen Masgai | - Glen Masgai | ||||||
|  | - Gustavo Zacarias (gustavoz) | ||||||
| - Hartmut Holzgraefe (hholzgra) | - Hartmut Holzgraefe (hholzgra) | ||||||
| - Iain Denniston (ectotropic) | - Iain Denniston (ectotropic) | ||||||
| - Ingo Hofmann | - Ingo Hofmann | ||||||
| - Ivan Romanov (ivanromanov) | - Ivan Romanov (ivanromanov) | ||||||
| - Jiri Zouhar | - Jiri Zouhar | ||||||
|  | - Jean-Francois Dockes (medoc) | ||||||
| - John Dennis | - John Dennis | ||||||
| - Jonathan Casiot (no_dice) | - Jonathan Casiot (no_dice) | ||||||
| - Josh Carroll | - Josh Carroll | ||||||
| @@ -52,17 +56,26 @@ exempt of errors. | |||||||
| - Oskar Liljeblad | - Oskar Liljeblad | ||||||
| - Michael (oxygenic) | - Michael (oxygenic) | ||||||
| - Paul Vixie | - Paul Vixie | ||||||
|  | - Peng | ||||||
| - Peter Hartley | - Peter Hartley | ||||||
|  | - Philipp Matthias Hahn | ||||||
|  | - Pino Toscano (pinotree) | ||||||
| - Rene Hexel | - Rene Hexel | ||||||
|  | - Robert Buckley (rbuckley) | ||||||
| - Robert Gingher (robsbox) | - Robert Gingher (robsbox) | ||||||
| - Ronan Menard | - Ronan Menard | ||||||
|  | - Sebastian Brandt | ||||||
|  | - Shaun Marko (semarko) | ||||||
| - Siva Chandran | - Siva Chandran | ||||||
| - Stefan Sommerfeld (zerocom) | - Stefan Sommerfeld (zerocom) | ||||||
| - Stéphane Corthésy | - Stéphane Corthésy | ||||||
| - Steve Bresson | - Steve Bresson | ||||||
|  | - Thijs Schreijer | ||||||
| - Timothy Redaelli | - Timothy Redaelli | ||||||
| - Titus Winters | - Titus Winters | ||||||
| - Tom (tomdev2) | - Tom (tomdev2) | ||||||
| - Yoichi Nakayama (yoichi) | - Yoichi Nakayama (yoichi) | ||||||
| - zephyrus (zephyrus00jp) | - zephyrus (zephyrus00jp) | ||||||
|  | - zexian chen | ||||||
|  | - Zheng Peng (darkelf2010) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -105,7 +105,7 @@ | |||||||
| #define PACKAGE_NAME "libupnp" | #define PACKAGE_NAME "libupnp" | ||||||
|  |  | ||||||
| /* Define to the full name and version of this package. */ | /* Define to the full name and version of this package. */ | ||||||
| #define PACKAGE_STRING "libupnp 1.6.16" | #define PACKAGE_STRING "libupnp 1.6.20" | ||||||
|  |  | ||||||
| /* Define to the one symbol short name of this package. */ | /* Define to the one symbol short name of this package. */ | ||||||
| #define PACKAGE_TARNAME "libupnp" | #define PACKAGE_TARNAME "libupnp" | ||||||
| @@ -114,7 +114,7 @@ | |||||||
| #define PACKAGE_URL "" | #define PACKAGE_URL "" | ||||||
|  |  | ||||||
| /* Define to the version of this package. */ | /* Define to the version of this package. */ | ||||||
| #define PACKAGE_VERSION "1.6.16" | #define PACKAGE_VERSION "1.6.20" | ||||||
|  |  | ||||||
| /* Define to necessary symbol if this constant uses a non-standard name on | /* Define to necessary symbol if this constant uses a non-standard name on | ||||||
|    your system. */ |    your system. */ | ||||||
| @@ -132,6 +132,9 @@ | |||||||
| /* see upnpconfig.h */ | /* see upnpconfig.h */ | ||||||
| #define UPNP_ENABLE_NOTIFICATION_REORDERING 1 | #define UPNP_ENABLE_NOTIFICATION_REORDERING 1 | ||||||
|  |  | ||||||
|  | /* see upnpconfig.h */ | ||||||
|  | /* #undef UPNP_ENABLE_UNSPECIFIED_SERVER */ | ||||||
|  |  | ||||||
| /* see upnpconfig.h */ | /* see upnpconfig.h */ | ||||||
| #define UPNP_HAVE_CLIENT 1 | #define UPNP_HAVE_CLIENT 1 | ||||||
|  |  | ||||||
| @@ -169,13 +172,13 @@ | |||||||
| #define UPNP_VERSION_MINOR 6 | #define UPNP_VERSION_MINOR 6 | ||||||
|  |  | ||||||
| /* see upnpconfig.h */ | /* see upnpconfig.h */ | ||||||
| #define UPNP_VERSION_PATCH 16 | #define UPNP_VERSION_PATCH 20 | ||||||
|  |  | ||||||
| /* see upnpconfig.h */ | /* see upnpconfig.h */ | ||||||
| #define UPNP_VERSION_STRING "1.6.16" | #define UPNP_VERSION_STRING "1.6.20" | ||||||
|  |  | ||||||
| /* Version number of package */ | /* Version number of package */ | ||||||
| #define VERSION "1.6.16" | #define VERSION "1.6.20" | ||||||
|  |  | ||||||
| /* File Offset size */ | /* File Offset size */ | ||||||
| #define _FILE_OFFSET_BITS 64 | #define _FILE_OFFSET_BITS 64 | ||||||
|   | |||||||
| @@ -40,7 +40,7 @@ | |||||||
|  ***************************************************************************/  |  ***************************************************************************/  | ||||||
|  |  | ||||||
| /** The library version (string) e.g. "1.3.0" */ | /** The library version (string) e.g. "1.3.0" */ | ||||||
| #define UPNP_VERSION_STRING "1.6.16" | #define UPNP_VERSION_STRING "1.6.20" | ||||||
|  |  | ||||||
| /** Major version of the library */ | /** Major version of the library */ | ||||||
| #define UPNP_VERSION_MAJOR 1 | #define UPNP_VERSION_MAJOR 1 | ||||||
| @@ -49,7 +49,7 @@ | |||||||
| #define UPNP_VERSION_MINOR 6 | #define UPNP_VERSION_MINOR 6 | ||||||
|  |  | ||||||
| /** Patch version of the library */ | /** Patch version of the library */ | ||||||
| #define UPNP_VERSION_PATCH 16 | #define UPNP_VERSION_PATCH 20 | ||||||
|  |  | ||||||
| /** The library version (numeric) e.g. 10300 means version 1.3.0 */ | /** The library version (numeric) e.g. 10300 means version 1.3.0 */ | ||||||
| #define UPNP_VERSION	\ | #define UPNP_VERSION	\ | ||||||
| @@ -128,5 +128,9 @@ | |||||||
|  *  (i.e. configure --enable-ipv6) */ |  *  (i.e. configure --enable-ipv6) */ | ||||||
| /* #undef UPNP_ENABLE_IPV6 */ | /* #undef UPNP_ENABLE_IPV6 */ | ||||||
|  |  | ||||||
|  | /** Defined to 1 if the library has been compiled with unspecified SERVER | ||||||
|  |  * header (i.e. configure --enable-unspecified_server) */ | ||||||
|  | /* #undef UPNP_ENABLE_UNSPECIFIED_SERVER */ | ||||||
|  |  | ||||||
| #endif /* UPNP_CONFIG_H */ | #endif /* UPNP_CONFIG_H */ | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										3
									
								
								build/vc10/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								build/vc10/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | |||||||
|  |  | ||||||
|  | *.suo | ||||||
|  | *.user | ||||||
							
								
								
									
										361
									
								
								build/vc10/ixml.vcxproj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										361
									
								
								build/vc10/ixml.vcxproj
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,361 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||||
|  |   <ItemGroup Label="ProjectConfigurations"> | ||||||
|  |     <ProjectConfiguration Include="Debug Lib|Win32"> | ||||||
|  |       <Configuration>Debug Lib</Configuration> | ||||||
|  |       <Platform>Win32</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Debug Lib|x64"> | ||||||
|  |       <Configuration>Debug Lib</Configuration> | ||||||
|  |       <Platform>x64</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Debug|Win32"> | ||||||
|  |       <Configuration>Debug</Configuration> | ||||||
|  |       <Platform>Win32</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Debug|x64"> | ||||||
|  |       <Configuration>Debug</Configuration> | ||||||
|  |       <Platform>x64</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Release Lib|Win32"> | ||||||
|  |       <Configuration>Release Lib</Configuration> | ||||||
|  |       <Platform>Win32</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Release Lib|x64"> | ||||||
|  |       <Configuration>Release Lib</Configuration> | ||||||
|  |       <Platform>x64</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Release|Win32"> | ||||||
|  |       <Configuration>Release</Configuration> | ||||||
|  |       <Platform>Win32</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Release|x64"> | ||||||
|  |       <Configuration>Release</Configuration> | ||||||
|  |       <Platform>x64</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <PropertyGroup Label="Globals"> | ||||||
|  |     <ProjectGuid>{9C2C266D-35A3-465F-A297-0E21D54E5C89}</ProjectGuid> | ||||||
|  |     <RootNamespace>ixml</RootNamespace> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>StaticLibrary</ConfigurationType> | ||||||
|  |     <CharacterSet>NotSet</CharacterSet> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>StaticLibrary</ConfigurationType> | ||||||
|  |     <CharacterSet>NotSet</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>StaticLibrary</ConfigurationType> | ||||||
|  |     <CharacterSet>NotSet</CharacterSet> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>StaticLibrary</ConfigurationType> | ||||||
|  |     <CharacterSet>NotSet</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>StaticLibrary</ConfigurationType> | ||||||
|  |     <CharacterSet>NotSet</CharacterSet> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>StaticLibrary</ConfigurationType> | ||||||
|  |     <CharacterSet>NotSet</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>StaticLibrary</ConfigurationType> | ||||||
|  |     <CharacterSet>NotSet</CharacterSet> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>StaticLibrary</ConfigurationType> | ||||||
|  |     <CharacterSet>NotSet</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> | ||||||
|  |   <ImportGroup Label="ExtensionSettings"> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <PropertyGroup Label="UserMacros" /> | ||||||
|  |   <PropertyGroup> | ||||||
|  |     <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <EnableManagedIncrementalBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</EnableManagedIncrementalBuild> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <EnableManagedIncrementalBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</EnableManagedIncrementalBuild> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <EnableManagedIncrementalBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</EnableManagedIncrementalBuild> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <EnableManagedIncrementalBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</EnableManagedIncrementalBuild> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <EnableManagedIncrementalBuild Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">true</EnableManagedIncrementalBuild> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <EnableManagedIncrementalBuild Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">true</EnableManagedIncrementalBuild> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <EnableManagedIncrementalBuild Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">true</EnableManagedIncrementalBuild> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <EnableManagedIncrementalBuild Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">true</EnableManagedIncrementalBuild> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>Disabled</Optimization> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\ixml\inc;..\..\ixml\src\inc;..\inc;..\..\upnp\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>DEBUG;WIN32;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <MinimalRebuild>true</MinimalRebuild> | ||||||
|  |       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> | ||||||
|  |       <PrecompiledHeaderOutputFile> | ||||||
|  |       </PrecompiledHeaderOutputFile> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Lib> | ||||||
|  |       <AdditionalLibraryDirectories>$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |     </Lib> | ||||||
|  |     <BuildLog> | ||||||
|  |       <Path>$(IntDir)$(MSBuildProjectName).log</Path> | ||||||
|  |     </BuildLog> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> | ||||||
|  |     <Midl> | ||||||
|  |       <TargetEnvironment>X64</TargetEnvironment> | ||||||
|  |     </Midl> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>Disabled</Optimization> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\ixml\inc;..\..\ixml\src\inc;..\inc;..\..\upnp\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>DEBUG;WIN32;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <MinimalRebuild>true</MinimalRebuild> | ||||||
|  |       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> | ||||||
|  |       <PrecompiledHeaderOutputFile> | ||||||
|  |       </PrecompiledHeaderOutputFile> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Lib> | ||||||
|  |       <AdditionalLibraryDirectories>$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |     </Lib> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>MaxSpeed</Optimization> | ||||||
|  |       <InlineFunctionExpansion>Default</InlineFunctionExpansion> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\ixml\inc;..\..\ixml\src\inc;..\inc;..\..\upnp\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <StringPooling>true</StringPooling> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <PrecompiledHeaderOutputFile> | ||||||
|  |       </PrecompiledHeaderOutputFile> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Lib> | ||||||
|  |       <AdditionalLibraryDirectories>$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |     </Lib> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> | ||||||
|  |     <Midl> | ||||||
|  |       <TargetEnvironment>X64</TargetEnvironment> | ||||||
|  |     </Midl> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>MaxSpeed</Optimization> | ||||||
|  |       <InlineFunctionExpansion>Default</InlineFunctionExpansion> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\ixml\inc;..\..\ixml\src\inc;..\inc;..\..\upnp\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <StringPooling>true</StringPooling> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <PrecompiledHeaderOutputFile> | ||||||
|  |       </PrecompiledHeaderOutputFile> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Lib> | ||||||
|  |       <AdditionalLibraryDirectories>$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |     </Lib> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>Disabled</Optimization> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\ixml\inc;..\..\ixml\src\inc;..\inc;..\..\upnp\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>DEBUG;WIN32;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <MinimalRebuild>true</MinimalRebuild> | ||||||
|  |       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> | ||||||
|  |       <PrecompiledHeaderOutputFile> | ||||||
|  |       </PrecompiledHeaderOutputFile> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Lib> | ||||||
|  |       <AdditionalLibraryDirectories>$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |     </Lib> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'"> | ||||||
|  |     <Midl> | ||||||
|  |       <TargetEnvironment>X64</TargetEnvironment> | ||||||
|  |     </Midl> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>Disabled</Optimization> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\ixml\inc;..\..\ixml\src\inc;..\inc;..\..\upnp\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>DEBUG;WIN32;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <MinimalRebuild>true</MinimalRebuild> | ||||||
|  |       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> | ||||||
|  |       <PrecompiledHeaderOutputFile> | ||||||
|  |       </PrecompiledHeaderOutputFile> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Lib> | ||||||
|  |       <AdditionalLibraryDirectories>$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |     </Lib> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>MaxSpeed</Optimization> | ||||||
|  |       <InlineFunctionExpansion>Default</InlineFunctionExpansion> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\ixml\inc;..\..\ixml\src\inc;..\inc;..\..\upnp\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <StringPooling>true</StringPooling> | ||||||
|  |       <RuntimeLibrary>MultiThreaded</RuntimeLibrary> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <PrecompiledHeaderOutputFile> | ||||||
|  |       </PrecompiledHeaderOutputFile> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Lib> | ||||||
|  |       <AdditionalLibraryDirectories>$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |     </Lib> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'"> | ||||||
|  |     <Midl> | ||||||
|  |       <TargetEnvironment>X64</TargetEnvironment> | ||||||
|  |     </Midl> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>MaxSpeed</Optimization> | ||||||
|  |       <InlineFunctionExpansion>Default</InlineFunctionExpansion> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\ixml\inc;..\..\ixml\src\inc;..\inc;..\..\upnp\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <StringPooling>true</StringPooling> | ||||||
|  |       <RuntimeLibrary>MultiThreaded</RuntimeLibrary> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <PrecompiledHeaderOutputFile> | ||||||
|  |       </PrecompiledHeaderOutputFile> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Lib> | ||||||
|  |       <AdditionalLibraryDirectories>$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |     </Lib> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\attr.c" /> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\document.c" /> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\element.c" /> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\ixml.c" /> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\ixmldebug.c" /> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\ixmlmembuf.c" /> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\ixmlparser.c" /> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\namedNodeMap.c" /> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\node.c" /> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\nodeList.c" /> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClInclude Include="..\..\ixml\inc\ixml.h" /> | ||||||
|  |     <ClInclude Include="..\..\ixml\inc\ixmldebug.h" /> | ||||||
|  |     <ClInclude Include="..\..\ixml\src\inc\ixmlmembuf.h" /> | ||||||
|  |     <ClInclude Include="..\..\ixml\src\inc\ixmlparser.h" /> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | ||||||
|  |   <ImportGroup Label="ExtensionTargets"> | ||||||
|  |   </ImportGroup> | ||||||
|  | </Project> | ||||||
							
								
								
									
										59
									
								
								build/vc10/ixml.vcxproj.filters
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								build/vc10/ixml.vcxproj.filters
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,59 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <Filter Include="Source Files"> | ||||||
|  |       <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> | ||||||
|  |       <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> | ||||||
|  |     </Filter> | ||||||
|  |     <Filter Include="Header Files"> | ||||||
|  |       <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> | ||||||
|  |       <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> | ||||||
|  |     </Filter> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\attr.c"> | ||||||
|  |       <Filter>Source Files</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\document.c"> | ||||||
|  |       <Filter>Source Files</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\element.c"> | ||||||
|  |       <Filter>Source Files</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\ixml.c"> | ||||||
|  |       <Filter>Source Files</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\ixmldebug.c"> | ||||||
|  |       <Filter>Source Files</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\ixmlmembuf.c"> | ||||||
|  |       <Filter>Source Files</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\ixmlparser.c"> | ||||||
|  |       <Filter>Source Files</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\namedNodeMap.c"> | ||||||
|  |       <Filter>Source Files</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\node.c"> | ||||||
|  |       <Filter>Source Files</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\nodeList.c"> | ||||||
|  |       <Filter>Source Files</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClInclude Include="..\..\ixml\inc\ixml.h"> | ||||||
|  |       <Filter>Header Files</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\ixml\inc\ixmldebug.h"> | ||||||
|  |       <Filter>Header Files</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\ixml\src\inc\ixmlmembuf.h"> | ||||||
|  |       <Filter>Header Files</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\ixml\src\inc\ixmlparser.h"> | ||||||
|  |       <Filter>Header Files</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |   </ItemGroup> | ||||||
|  | </Project> | ||||||
							
								
								
									
										147
									
								
								build/vc10/libupnp.sln
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										147
									
								
								build/vc10/libupnp.sln
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,147 @@ | |||||||
|  |  | ||||||
|  | Microsoft Visual Studio Solution File, Format Version 11.00 | ||||||
|  | # Visual Studio 2010 | ||||||
|  | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libupnp", "libupnp.vcxproj", "{6227F51A-1498-4C4A-B213-F6FDED605125}" | ||||||
|  | EndProject | ||||||
|  | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ixml", "ixml.vcxproj", "{9C2C266D-35A3-465F-A297-0E21D54E5C89}" | ||||||
|  | EndProject | ||||||
|  | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "threadutil", "threadutil.vcxproj", "{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}" | ||||||
|  | EndProject | ||||||
|  | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tvctrlpt", "tvctrlpt.vcxproj", "{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}" | ||||||
|  | EndProject | ||||||
|  | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tvdevice", "tvdevice.vcxproj", "{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}" | ||||||
|  | EndProject | ||||||
|  | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tvcombo", "tvcombo.vcxproj", "{6365804B-22C6-4D5E-91F3-0C052EB55B4F}" | ||||||
|  | EndProject | ||||||
|  | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{55AF07A8-18AA-45B8-A231-5082F1C6FC08}" | ||||||
|  | 	ProjectSection(SolutionItems) = preProject | ||||||
|  | 		..\..\AUTHORS = ..\..\AUTHORS | ||||||
|  | 		..\..\bootstrap = ..\..\bootstrap | ||||||
|  | 		..\..\ChangeLog = ..\..\ChangeLog | ||||||
|  | 		..\..\configure.ac = ..\..\configure.ac | ||||||
|  | 		..\..\COPYING = ..\..\COPYING | ||||||
|  | 		..\..\Doxyfile = ..\..\Doxyfile | ||||||
|  | 		..\..\INSTALL = ..\..\INSTALL | ||||||
|  | 		..\..\libupnp.pc.in = ..\..\libupnp.pc.in | ||||||
|  | 		..\..\libupnp.spec = ..\..\libupnp.spec | ||||||
|  | 		..\..\LICENSE = ..\..\LICENSE | ||||||
|  | 		..\..\Makefile.am = ..\..\Makefile.am | ||||||
|  | 		..\..\NEWS = ..\..\NEWS | ||||||
|  | 		..\..\README = ..\..\README | ||||||
|  | 		..\..\THANKS = ..\..\THANKS | ||||||
|  | 		..\..\TODO = ..\..\TODO | ||||||
|  | 	EndProjectSection | ||||||
|  | EndProject | ||||||
|  | Global | ||||||
|  | 	GlobalSection(SolutionConfigurationPlatforms) = preSolution | ||||||
|  | 		Debug Lib|Win32 = Debug Lib|Win32 | ||||||
|  | 		Debug Lib|x64 = Debug Lib|x64 | ||||||
|  | 		Debug|Win32 = Debug|Win32 | ||||||
|  | 		Debug|x64 = Debug|x64 | ||||||
|  | 		Release Lib|Win32 = Release Lib|Win32 | ||||||
|  | 		Release Lib|x64 = Release Lib|x64 | ||||||
|  | 		Release|Win32 = Release|Win32 | ||||||
|  | 		Release|x64 = Release|x64 | ||||||
|  | 	EndGlobalSection | ||||||
|  | 	GlobalSection(ProjectConfigurationPlatforms) = postSolution | ||||||
|  | 		{6227F51A-1498-4C4A-B213-F6FDED605125}.Debug Lib|Win32.ActiveCfg = Debug Lib|Win32 | ||||||
|  | 		{6227F51A-1498-4C4A-B213-F6FDED605125}.Debug Lib|Win32.Build.0 = Debug Lib|Win32 | ||||||
|  | 		{6227F51A-1498-4C4A-B213-F6FDED605125}.Debug Lib|x64.ActiveCfg = Debug Lib|x64 | ||||||
|  | 		{6227F51A-1498-4C4A-B213-F6FDED605125}.Debug Lib|x64.Build.0 = Debug Lib|x64 | ||||||
|  | 		{6227F51A-1498-4C4A-B213-F6FDED605125}.Debug|Win32.ActiveCfg = Debug|Win32 | ||||||
|  | 		{6227F51A-1498-4C4A-B213-F6FDED605125}.Debug|Win32.Build.0 = Debug|Win32 | ||||||
|  | 		{6227F51A-1498-4C4A-B213-F6FDED605125}.Debug|x64.ActiveCfg = Debug|x64 | ||||||
|  | 		{6227F51A-1498-4C4A-B213-F6FDED605125}.Debug|x64.Build.0 = Debug|x64 | ||||||
|  | 		{6227F51A-1498-4C4A-B213-F6FDED605125}.Release Lib|Win32.ActiveCfg = Release Lib|Win32 | ||||||
|  | 		{6227F51A-1498-4C4A-B213-F6FDED605125}.Release Lib|Win32.Build.0 = Release Lib|Win32 | ||||||
|  | 		{6227F51A-1498-4C4A-B213-F6FDED605125}.Release Lib|x64.ActiveCfg = Release Lib|x64 | ||||||
|  | 		{6227F51A-1498-4C4A-B213-F6FDED605125}.Release Lib|x64.Build.0 = Release Lib|x64 | ||||||
|  | 		{6227F51A-1498-4C4A-B213-F6FDED605125}.Release|Win32.ActiveCfg = Release|Win32 | ||||||
|  | 		{6227F51A-1498-4C4A-B213-F6FDED605125}.Release|Win32.Build.0 = Release|Win32 | ||||||
|  | 		{6227F51A-1498-4C4A-B213-F6FDED605125}.Release|x64.ActiveCfg = Release|x64 | ||||||
|  | 		{6227F51A-1498-4C4A-B213-F6FDED605125}.Release|x64.Build.0 = Release|x64 | ||||||
|  | 		{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Debug Lib|Win32.ActiveCfg = Debug Lib|Win32 | ||||||
|  | 		{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Debug Lib|Win32.Build.0 = Debug Lib|Win32 | ||||||
|  | 		{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Debug Lib|x64.ActiveCfg = Debug Lib|x64 | ||||||
|  | 		{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Debug Lib|x64.Build.0 = Debug Lib|x64 | ||||||
|  | 		{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Debug|Win32.ActiveCfg = Debug|Win32 | ||||||
|  | 		{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Debug|Win32.Build.0 = Debug|Win32 | ||||||
|  | 		{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Debug|x64.ActiveCfg = Debug|x64 | ||||||
|  | 		{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Debug|x64.Build.0 = Debug|x64 | ||||||
|  | 		{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Release Lib|Win32.ActiveCfg = Release Lib|Win32 | ||||||
|  | 		{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Release Lib|Win32.Build.0 = Release Lib|Win32 | ||||||
|  | 		{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Release Lib|x64.ActiveCfg = Release Lib|x64 | ||||||
|  | 		{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Release Lib|x64.Build.0 = Release Lib|x64 | ||||||
|  | 		{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Release|Win32.ActiveCfg = Release|Win32 | ||||||
|  | 		{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Release|Win32.Build.0 = Release|Win32 | ||||||
|  | 		{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Release|x64.ActiveCfg = Release|x64 | ||||||
|  | 		{9C2C266D-35A3-465F-A297-0E21D54E5C89}.Release|x64.Build.0 = Release|x64 | ||||||
|  | 		{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Debug Lib|Win32.ActiveCfg = Debug Lib|Win32 | ||||||
|  | 		{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Debug Lib|Win32.Build.0 = Debug Lib|Win32 | ||||||
|  | 		{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Debug Lib|x64.ActiveCfg = Debug Lib|x64 | ||||||
|  | 		{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Debug Lib|x64.Build.0 = Debug Lib|x64 | ||||||
|  | 		{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Debug|Win32.ActiveCfg = Debug|Win32 | ||||||
|  | 		{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Debug|Win32.Build.0 = Debug|Win32 | ||||||
|  | 		{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Debug|x64.ActiveCfg = Debug|x64 | ||||||
|  | 		{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Debug|x64.Build.0 = Debug|x64 | ||||||
|  | 		{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Release Lib|Win32.ActiveCfg = Release Lib|Win32 | ||||||
|  | 		{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Release Lib|Win32.Build.0 = Release Lib|Win32 | ||||||
|  | 		{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Release Lib|x64.ActiveCfg = Release Lib|x64 | ||||||
|  | 		{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Release Lib|x64.Build.0 = Release Lib|x64 | ||||||
|  | 		{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Release|Win32.ActiveCfg = Release|Win32 | ||||||
|  | 		{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Release|Win32.Build.0 = Release|Win32 | ||||||
|  | 		{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Release|x64.ActiveCfg = Release|x64 | ||||||
|  | 		{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Release|x64.Build.0 = Release|x64 | ||||||
|  | 		{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Debug Lib|Win32.ActiveCfg = Debug Lib|Win32 | ||||||
|  | 		{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Debug Lib|Win32.Build.0 = Debug Lib|Win32 | ||||||
|  | 		{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Debug Lib|x64.ActiveCfg = Debug Lib|x64 | ||||||
|  | 		{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Debug Lib|x64.Build.0 = Debug Lib|x64 | ||||||
|  | 		{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Debug|Win32.ActiveCfg = Debug|Win32 | ||||||
|  | 		{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Debug|Win32.Build.0 = Debug|Win32 | ||||||
|  | 		{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Debug|x64.ActiveCfg = Debug|x64 | ||||||
|  | 		{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Debug|x64.Build.0 = Debug|x64 | ||||||
|  | 		{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Release Lib|Win32.ActiveCfg = Release Lib|Win32 | ||||||
|  | 		{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Release Lib|Win32.Build.0 = Release Lib|Win32 | ||||||
|  | 		{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Release Lib|x64.ActiveCfg = Release Lib|x64 | ||||||
|  | 		{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Release Lib|x64.Build.0 = Release Lib|x64 | ||||||
|  | 		{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Release|Win32.ActiveCfg = Release|Win32 | ||||||
|  | 		{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Release|Win32.Build.0 = Release|Win32 | ||||||
|  | 		{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Release|x64.ActiveCfg = Release|x64 | ||||||
|  | 		{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}.Release|x64.Build.0 = Release|x64 | ||||||
|  | 		{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Debug Lib|Win32.ActiveCfg = Debug Lib|Win32 | ||||||
|  | 		{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Debug Lib|Win32.Build.0 = Debug Lib|Win32 | ||||||
|  | 		{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Debug Lib|x64.ActiveCfg = Debug Lib|x64 | ||||||
|  | 		{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Debug Lib|x64.Build.0 = Debug Lib|x64 | ||||||
|  | 		{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Debug|Win32.ActiveCfg = Debug|Win32 | ||||||
|  | 		{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Debug|Win32.Build.0 = Debug|Win32 | ||||||
|  | 		{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Debug|x64.ActiveCfg = Debug|x64 | ||||||
|  | 		{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Debug|x64.Build.0 = Debug|x64 | ||||||
|  | 		{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Release Lib|Win32.ActiveCfg = Release Lib|Win32 | ||||||
|  | 		{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Release Lib|Win32.Build.0 = Release Lib|Win32 | ||||||
|  | 		{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Release Lib|x64.ActiveCfg = Release Lib|x64 | ||||||
|  | 		{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Release Lib|x64.Build.0 = Release Lib|x64 | ||||||
|  | 		{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Release|Win32.ActiveCfg = Release|Win32 | ||||||
|  | 		{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Release|Win32.Build.0 = Release|Win32 | ||||||
|  | 		{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Release|x64.ActiveCfg = Release|x64 | ||||||
|  | 		{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}.Release|x64.Build.0 = Release|x64 | ||||||
|  | 		{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Debug Lib|Win32.ActiveCfg = Debug Lib|Win32 | ||||||
|  | 		{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Debug Lib|Win32.Build.0 = Debug Lib|Win32 | ||||||
|  | 		{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Debug Lib|x64.ActiveCfg = Debug Lib|x64 | ||||||
|  | 		{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Debug Lib|x64.Build.0 = Debug Lib|x64 | ||||||
|  | 		{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Debug|Win32.ActiveCfg = Debug|Win32 | ||||||
|  | 		{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Debug|Win32.Build.0 = Debug|Win32 | ||||||
|  | 		{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Debug|x64.ActiveCfg = Debug|x64 | ||||||
|  | 		{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Debug|x64.Build.0 = Debug|x64 | ||||||
|  | 		{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Release Lib|Win32.ActiveCfg = Release Lib|Win32 | ||||||
|  | 		{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Release Lib|Win32.Build.0 = Release Lib|Win32 | ||||||
|  | 		{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Release Lib|x64.ActiveCfg = Release Lib|x64 | ||||||
|  | 		{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Release Lib|x64.Build.0 = Release Lib|x64 | ||||||
|  | 		{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Release|Win32.ActiveCfg = Release|Win32 | ||||||
|  | 		{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Release|Win32.Build.0 = Release|Win32 | ||||||
|  | 		{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Release|x64.ActiveCfg = Release|x64 | ||||||
|  | 		{6365804B-22C6-4D5E-91F3-0C052EB55B4F}.Release|x64.Build.0 = Release|x64 | ||||||
|  | 	EndGlobalSection | ||||||
|  | 	GlobalSection(SolutionProperties) = preSolution | ||||||
|  | 		HideSolutionNode = FALSE | ||||||
|  | 	EndGlobalSection | ||||||
|  | EndGlobal | ||||||
							
								
								
									
										706
									
								
								build/vc10/libupnp.vcxproj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										706
									
								
								build/vc10/libupnp.vcxproj
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,706 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||||
|  |   <ItemGroup Label="ProjectConfigurations"> | ||||||
|  |     <ProjectConfiguration Include="Debug Lib|Win32"> | ||||||
|  |       <Configuration>Debug Lib</Configuration> | ||||||
|  |       <Platform>Win32</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Debug Lib|x64"> | ||||||
|  |       <Configuration>Debug Lib</Configuration> | ||||||
|  |       <Platform>x64</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Debug|Win32"> | ||||||
|  |       <Configuration>Debug</Configuration> | ||||||
|  |       <Platform>Win32</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Debug|x64"> | ||||||
|  |       <Configuration>Debug</Configuration> | ||||||
|  |       <Platform>x64</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Release Lib|Win32"> | ||||||
|  |       <Configuration>Release Lib</Configuration> | ||||||
|  |       <Platform>Win32</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Release Lib|x64"> | ||||||
|  |       <Configuration>Release Lib</Configuration> | ||||||
|  |       <Platform>x64</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Release|Win32"> | ||||||
|  |       <Configuration>Release</Configuration> | ||||||
|  |       <Platform>Win32</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Release|x64"> | ||||||
|  |       <Configuration>Release</Configuration> | ||||||
|  |       <Platform>x64</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <PropertyGroup Label="Globals"> | ||||||
|  |     <ProjectGuid>{6227F51A-1498-4C4A-B213-F6FDED605125}</ProjectGuid> | ||||||
|  |     <RootNamespace>libupnp</RootNamespace> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>StaticLibrary</ConfigurationType> | ||||||
|  |     <UseOfMfc>false</UseOfMfc> | ||||||
|  |     <CharacterSet>NotSet</CharacterSet> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>StaticLibrary</ConfigurationType> | ||||||
|  |     <UseOfMfc>false</UseOfMfc> | ||||||
|  |     <CharacterSet>NotSet</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>DynamicLibrary</ConfigurationType> | ||||||
|  |     <UseOfMfc>false</UseOfMfc> | ||||||
|  |     <CharacterSet>NotSet</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>DynamicLibrary</ConfigurationType> | ||||||
|  |     <UseOfMfc>false</UseOfMfc> | ||||||
|  |     <CharacterSet>NotSet</CharacterSet> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>StaticLibrary</ConfigurationType> | ||||||
|  |     <UseOfMfc>false</UseOfMfc> | ||||||
|  |     <CharacterSet>NotSet</CharacterSet> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>StaticLibrary</ConfigurationType> | ||||||
|  |     <UseOfMfc>false</UseOfMfc> | ||||||
|  |     <CharacterSet>NotSet</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>DynamicLibrary</ConfigurationType> | ||||||
|  |     <UseOfMfc>false</UseOfMfc> | ||||||
|  |     <CharacterSet>NotSet</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>DynamicLibrary</ConfigurationType> | ||||||
|  |     <UseOfMfc>false</UseOfMfc> | ||||||
|  |     <CharacterSet>NotSet</CharacterSet> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> | ||||||
|  |   <ImportGroup Label="ExtensionSettings"> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <PropertyGroup Label="UserMacros" /> | ||||||
|  |   <PropertyGroup> | ||||||
|  |     <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">$(SolutionDir)\out.vc10.$(Platform)\$(Configuration)\lib\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">$(SolutionDir)\out.vc10.$(Platform)\$(Configuration)\lib\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | ||||||
|  |     <Midl> | ||||||
|  |       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <MkTypLibCompatible>true</MkTypLibCompatible> | ||||||
|  |       <SuppressStartupBanner>true</SuppressStartupBanner> | ||||||
|  |       <TargetEnvironment>Win32</TargetEnvironment> | ||||||
|  |       <TypeLibraryName>.\Release/libupnp.tlb</TypeLibraryName> | ||||||
|  |       <HeaderFileName> | ||||||
|  |       </HeaderFileName> | ||||||
|  |     </Midl> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>MaxSpeed</Optimization> | ||||||
|  |       <InlineFunctionExpansion>Default</InlineFunctionExpansion> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |       <AdditionalIncludeDirectories>..\inc;..\msvc;..\..\upnp\inc;..\..\upnp\src\inc;..\..\ixml\inc;..\..\ixml\src\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <StringPooling>true</StringPooling> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <PrecompiledHeaderOutputFile> | ||||||
|  |       </PrecompiledHeaderOutputFile> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ObjectFileName>$(IntDir)</ObjectFileName> | ||||||
|  |       <ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <BrowseInformation> | ||||||
|  |       </BrowseInformation> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <SuppressStartupBanner>true</SuppressStartupBanner> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ResourceCompile> | ||||||
|  |       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <Culture>0x0407</Culture> | ||||||
|  |     </ResourceCompile> | ||||||
|  |     <Link> | ||||||
|  |       <AdditionalDependencies>pthreadvc2.lib;ws2_32.lib;iphlpapi.lib;ixml.lib;threadutil.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|  |       <OutputFile>$(OutDir)$(ProjectName).dll</OutputFile> | ||||||
|  |       <SuppressStartupBanner>true</SuppressStartupBanner> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\ixml;$(OutDir)..\lib\threadutil;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |       <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> | ||||||
|  |       <SubSystem>Windows</SubSystem> | ||||||
|  |       <OptimizeReferences>true</OptimizeReferences> | ||||||
|  |       <EnableCOMDATFolding>true</EnableCOMDATFolding> | ||||||
|  |       <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration> | ||||||
|  |       <RandomizedBaseAddress>false</RandomizedBaseAddress> | ||||||
|  |       <DataExecutionPrevention> | ||||||
|  |       </DataExecutionPrevention> | ||||||
|  |       <ImportLibrary>$(TargetDir)$(TargetName).lib</ImportLibrary> | ||||||
|  |       <TargetMachine>MachineX86</TargetMachine> | ||||||
|  |     </Link> | ||||||
|  |     <Bscmake> | ||||||
|  |       <SuppressStartupBanner>true</SuppressStartupBanner> | ||||||
|  |       <OutputFile>.\Release/libupnp.bsc</OutputFile> | ||||||
|  |     </Bscmake> | ||||||
|  |     <PostBuildEvent> | ||||||
|  |       <Command> | ||||||
|  |       </Command> | ||||||
|  |       <Message>Add pthreadVC2.dll to output</Message> | ||||||
|  |     </PostBuildEvent> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> | ||||||
|  |     <Midl> | ||||||
|  |       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <MkTypLibCompatible>true</MkTypLibCompatible> | ||||||
|  |       <SuppressStartupBanner>true</SuppressStartupBanner> | ||||||
|  |       <TargetEnvironment>X64</TargetEnvironment> | ||||||
|  |       <TypeLibraryName>.\Release/libupnp.tlb</TypeLibraryName> | ||||||
|  |       <HeaderFileName> | ||||||
|  |       </HeaderFileName> | ||||||
|  |     </Midl> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>MaxSpeed</Optimization> | ||||||
|  |       <InlineFunctionExpansion>Default</InlineFunctionExpansion> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |       <AdditionalIncludeDirectories>$(SolutionDir)\..\inc;$(SolutionDir)\..\msvc;$(SolutionDir)\..\..\upnp\inc;$(SolutionDir)\..\..\upnp\src\inc;$(SolutionDir)\..\..\ixml\inc;$(SolutionDir)\..\..\ixml\src\inc;$(SolutionDir)\..\..\threadutil\inc;$(SolutionDir)\..\..\pthreads;$(SolutionDir)\..\..\pthreads\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <StringPooling>true</StringPooling> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <PrecompiledHeaderOutputFile> | ||||||
|  |       </PrecompiledHeaderOutputFile> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ObjectFileName>$(IntDir)</ObjectFileName> | ||||||
|  |       <ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <BrowseInformation> | ||||||
|  |       </BrowseInformation> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <SuppressStartupBanner>true</SuppressStartupBanner> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ResourceCompile> | ||||||
|  |       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <Culture>0x0407</Culture> | ||||||
|  |     </ResourceCompile> | ||||||
|  |     <Link> | ||||||
|  |       <AdditionalDependencies>pthreadvc2.lib;ws2_32.lib;iphlpapi.lib;ixml.lib;threadutil.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|  |       <OutputFile>$(OutDir)$(ProjectName).dll</OutputFile> | ||||||
|  |       <SuppressStartupBanner>true</SuppressStartupBanner> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\ixml;$(OutDir)..\lib\threadutil;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |       <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> | ||||||
|  |       <SubSystem>Windows</SubSystem> | ||||||
|  |       <OptimizeReferences>true</OptimizeReferences> | ||||||
|  |       <EnableCOMDATFolding>true</EnableCOMDATFolding> | ||||||
|  |       <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration> | ||||||
|  |       <RandomizedBaseAddress>false</RandomizedBaseAddress> | ||||||
|  |       <DataExecutionPrevention> | ||||||
|  |       </DataExecutionPrevention> | ||||||
|  |       <ImportLibrary>$(TargetDir)$(TargetName).lib</ImportLibrary> | ||||||
|  |       <TargetMachine>MachineX64</TargetMachine> | ||||||
|  |     </Link> | ||||||
|  |     <Bscmake> | ||||||
|  |       <SuppressStartupBanner>true</SuppressStartupBanner> | ||||||
|  |       <OutputFile>.\Release/libupnp.bsc</OutputFile> | ||||||
|  |     </Bscmake> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> | ||||||
|  |     <Midl> | ||||||
|  |       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <MkTypLibCompatible>true</MkTypLibCompatible> | ||||||
|  |       <SuppressStartupBanner>true</SuppressStartupBanner> | ||||||
|  |       <TargetEnvironment>Win32</TargetEnvironment> | ||||||
|  |       <TypeLibraryName>.\Debug/libupnp.tlb</TypeLibraryName> | ||||||
|  |       <HeaderFileName> | ||||||
|  |       </HeaderFileName> | ||||||
|  |     </Midl> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>Disabled</Optimization> | ||||||
|  |       <AdditionalIncludeDirectories>..\inc;..\msvc;..\..\upnp\inc;..\..\upnp\src\inc;..\..\ixml\inc;..\..\ixml\src\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>DEBUG;WIN32;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <MinimalRebuild>true</MinimalRebuild> | ||||||
|  |       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> | ||||||
|  |       <PrecompiledHeaderOutputFile> | ||||||
|  |       </PrecompiledHeaderOutputFile> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ObjectFileName>$(IntDir)</ObjectFileName> | ||||||
|  |       <ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <BrowseInformation> | ||||||
|  |       </BrowseInformation> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <SuppressStartupBanner>true</SuppressStartupBanner> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ResourceCompile> | ||||||
|  |       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <Culture>0x0407</Culture> | ||||||
|  |     </ResourceCompile> | ||||||
|  |     <Link> | ||||||
|  |       <AdditionalDependencies>pthreadvc2.lib;ws2_32.lib;iphlpapi.lib;ixml.lib;threadutil.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|  |       <OutputFile>$(OutDir)$(ProjectName).dll</OutputFile> | ||||||
|  |       <SuppressStartupBanner>true</SuppressStartupBanner> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\ixml;$(OutDir)..\lib\threadutil;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |       <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> | ||||||
|  |       <SubSystem>Windows</SubSystem> | ||||||
|  |       <RandomizedBaseAddress>false</RandomizedBaseAddress> | ||||||
|  |       <DataExecutionPrevention> | ||||||
|  |       </DataExecutionPrevention> | ||||||
|  |       <ImportLibrary>$(TargetDir)$(TargetName).lib</ImportLibrary> | ||||||
|  |       <TargetMachine>MachineX86</TargetMachine> | ||||||
|  |     </Link> | ||||||
|  |     <Bscmake> | ||||||
|  |       <SuppressStartupBanner>true</SuppressStartupBanner> | ||||||
|  |       <OutputFile>$(OutDir)libupnp.bsc</OutputFile> | ||||||
|  |     </Bscmake> | ||||||
|  |     <BuildLog> | ||||||
|  |       <Path>$(IntDir)$(MSBuildProjectName).log</Path> | ||||||
|  |     </BuildLog> | ||||||
|  |     <PostBuildEvent /> | ||||||
|  |     <PostBuildEvent> | ||||||
|  |       <Message> | ||||||
|  |       </Message> | ||||||
|  |       <Command> | ||||||
|  |       </Command> | ||||||
|  |     </PostBuildEvent> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> | ||||||
|  |     <Midl> | ||||||
|  |       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <MkTypLibCompatible>true</MkTypLibCompatible> | ||||||
|  |       <SuppressStartupBanner>true</SuppressStartupBanner> | ||||||
|  |       <TargetEnvironment>X64</TargetEnvironment> | ||||||
|  |       <TypeLibraryName>.\Debug/libupnp.tlb</TypeLibraryName> | ||||||
|  |       <HeaderFileName> | ||||||
|  |       </HeaderFileName> | ||||||
|  |     </Midl> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>Disabled</Optimization> | ||||||
|  |       <AdditionalIncludeDirectories>$(SolutionDir)\..\inc;$(SolutionDir)\..\msvc;$(SolutionDir)\..\..\upnp\inc;$(SolutionDir)\..\..\upnp\src\inc;$(SolutionDir)\..\..\ixml\inc;$(SolutionDir)\..\..\ixml\src\inc;$(SolutionDir)\..\..\threadutil\inc;$(SolutionDir)\..\..\pthreads;$(SolutionDir)\..\..\pthreads\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>DEBUG;WIN32;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <MinimalRebuild>true</MinimalRebuild> | ||||||
|  |       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> | ||||||
|  |       <PrecompiledHeaderOutputFile> | ||||||
|  |       </PrecompiledHeaderOutputFile> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ObjectFileName>$(IntDir)</ObjectFileName> | ||||||
|  |       <ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <BrowseInformation> | ||||||
|  |       </BrowseInformation> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <SuppressStartupBanner>true</SuppressStartupBanner> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ResourceCompile> | ||||||
|  |       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <Culture>0x0407</Culture> | ||||||
|  |     </ResourceCompile> | ||||||
|  |     <Link> | ||||||
|  |       <AdditionalDependencies>pthreadvc2.lib;ws2_32.lib;iphlpapi.lib;ixml.lib;threadutil.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|  |       <OutputFile>$(OutDir)$(ProjectName).dll</OutputFile> | ||||||
|  |       <SuppressStartupBanner>true</SuppressStartupBanner> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\ixml;$(OutDir)..\lib\threadutil;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |       <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> | ||||||
|  |       <SubSystem>Windows</SubSystem> | ||||||
|  |       <RandomizedBaseAddress>false</RandomizedBaseAddress> | ||||||
|  |       <DataExecutionPrevention> | ||||||
|  |       </DataExecutionPrevention> | ||||||
|  |       <ImportLibrary>$(TargetDir)$(TargetName).lib</ImportLibrary> | ||||||
|  |       <TargetMachine>MachineX64</TargetMachine> | ||||||
|  |     </Link> | ||||||
|  |     <Bscmake> | ||||||
|  |       <SuppressStartupBanner>true</SuppressStartupBanner> | ||||||
|  |       <OutputFile>$(OutDir)libupnp.bsc</OutputFile> | ||||||
|  |     </Bscmake> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'"> | ||||||
|  |     <Midl> | ||||||
|  |       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <MkTypLibCompatible>true</MkTypLibCompatible> | ||||||
|  |       <SuppressStartupBanner>true</SuppressStartupBanner> | ||||||
|  |       <TargetEnvironment>Win32</TargetEnvironment> | ||||||
|  |       <TypeLibraryName>.\Debug/libupnp.tlb</TypeLibraryName> | ||||||
|  |       <HeaderFileName> | ||||||
|  |       </HeaderFileName> | ||||||
|  |     </Midl> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>Disabled</Optimization> | ||||||
|  |       <AdditionalIncludeDirectories>..\inc;..\msvc;..\..\upnp\inc;..\..\upnp\src\inc;..\..\ixml\inc;..\..\ixml\src\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;DEBUG;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <MinimalRebuild>true</MinimalRebuild> | ||||||
|  |       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> | ||||||
|  |       <PrecompiledHeaderOutputFile> | ||||||
|  |       </PrecompiledHeaderOutputFile> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ObjectFileName>$(IntDir)</ObjectFileName> | ||||||
|  |       <ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <BrowseInformation> | ||||||
|  |       </BrowseInformation> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <SuppressStartupBanner>true</SuppressStartupBanner> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ResourceCompile> | ||||||
|  |       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <Culture>0x0407</Culture> | ||||||
|  |     </ResourceCompile> | ||||||
|  |     <Lib> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\ixml;$(OutDir)..\lib\threadutil;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |     </Lib> | ||||||
|  |     <Bscmake> | ||||||
|  |       <SuppressStartupBanner>true</SuppressStartupBanner> | ||||||
|  |       <OutputFile>$(OutDir)libupnp.bsc</OutputFile> | ||||||
|  |     </Bscmake> | ||||||
|  |     <PostBuildEvent> | ||||||
|  |       <Command> | ||||||
|  |       </Command> | ||||||
|  |     </PostBuildEvent> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'"> | ||||||
|  |     <Midl> | ||||||
|  |       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <MkTypLibCompatible>true</MkTypLibCompatible> | ||||||
|  |       <SuppressStartupBanner>true</SuppressStartupBanner> | ||||||
|  |       <TargetEnvironment>X64</TargetEnvironment> | ||||||
|  |       <TypeLibraryName>.\Debug/libupnp.tlb</TypeLibraryName> | ||||||
|  |       <HeaderFileName> | ||||||
|  |       </HeaderFileName> | ||||||
|  |     </Midl> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>Disabled</Optimization> | ||||||
|  |       <AdditionalIncludeDirectories>$(SolutionDir)\..\inc;$(SolutionDir)\..\msvc;$(SolutionDir)\..\..\upnp\inc;$(SolutionDir)\..\..\upnp\src\inc;$(SolutionDir)\..\..\ixml\inc;$(SolutionDir)\..\..\ixml\src\inc;$(SolutionDir)\..\..\threadutil\inc;$(SolutionDir)\..\..\pthreads;$(SolutionDir)\..\..\pthreads\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;DEBUG;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <MinimalRebuild>true</MinimalRebuild> | ||||||
|  |       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> | ||||||
|  |       <PrecompiledHeaderOutputFile> | ||||||
|  |       </PrecompiledHeaderOutputFile> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ObjectFileName>$(IntDir)</ObjectFileName> | ||||||
|  |       <ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <BrowseInformation> | ||||||
|  |       </BrowseInformation> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <SuppressStartupBanner>true</SuppressStartupBanner> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ResourceCompile> | ||||||
|  |       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <Culture>0x0407</Culture> | ||||||
|  |     </ResourceCompile> | ||||||
|  |     <Lib> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\ixml;$(OutDir)..\lib\threadutil;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |     </Lib> | ||||||
|  |     <Bscmake> | ||||||
|  |       <SuppressStartupBanner>true</SuppressStartupBanner> | ||||||
|  |       <OutputFile>$(OutDir)libupnp.bsc</OutputFile> | ||||||
|  |     </Bscmake> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'"> | ||||||
|  |     <Midl> | ||||||
|  |       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <MkTypLibCompatible>true</MkTypLibCompatible> | ||||||
|  |       <SuppressStartupBanner>true</SuppressStartupBanner> | ||||||
|  |       <TargetEnvironment>Win32</TargetEnvironment> | ||||||
|  |       <TypeLibraryName>.\Release/libupnp.tlb</TypeLibraryName> | ||||||
|  |       <HeaderFileName> | ||||||
|  |       </HeaderFileName> | ||||||
|  |     </Midl> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>MaxSpeed</Optimization> | ||||||
|  |       <InlineFunctionExpansion>Default</InlineFunctionExpansion> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |       <AdditionalIncludeDirectories>..\inc;..\msvc;..\..\upnp\inc;..\..\upnp\src\inc;..\..\ixml\inc;..\..\ixml\src\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <StringPooling>true</StringPooling> | ||||||
|  |       <RuntimeLibrary>MultiThreaded</RuntimeLibrary> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <PrecompiledHeaderOutputFile> | ||||||
|  |       </PrecompiledHeaderOutputFile> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ObjectFileName>$(IntDir)</ObjectFileName> | ||||||
|  |       <ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <BrowseInformation> | ||||||
|  |       </BrowseInformation> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <SuppressStartupBanner>true</SuppressStartupBanner> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ResourceCompile> | ||||||
|  |       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <Culture>0x0407</Culture> | ||||||
|  |     </ResourceCompile> | ||||||
|  |     <Lib> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\ixml;$(OutDir)..\lib\threadutil;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |     </Lib> | ||||||
|  |     <Bscmake> | ||||||
|  |       <SuppressStartupBanner>true</SuppressStartupBanner> | ||||||
|  |       <OutputFile>.\Release/libupnp.bsc</OutputFile> | ||||||
|  |     </Bscmake> | ||||||
|  |     <PostBuildEvent> | ||||||
|  |       <Command> | ||||||
|  |       </Command> | ||||||
|  |     </PostBuildEvent> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'"> | ||||||
|  |     <Midl> | ||||||
|  |       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <MkTypLibCompatible>true</MkTypLibCompatible> | ||||||
|  |       <SuppressStartupBanner>true</SuppressStartupBanner> | ||||||
|  |       <TargetEnvironment>X64</TargetEnvironment> | ||||||
|  |       <TypeLibraryName>.\Release/libupnp.tlb</TypeLibraryName> | ||||||
|  |       <HeaderFileName> | ||||||
|  |       </HeaderFileName> | ||||||
|  |     </Midl> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>MaxSpeed</Optimization> | ||||||
|  |       <InlineFunctionExpansion>Default</InlineFunctionExpansion> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |       <AdditionalIncludeDirectories>$(SolutionDir)\..\inc;$(SolutionDir)\..\msvc;$(SolutionDir)\..\..\upnp\inc;$(SolutionDir)\..\..\upnp\src\inc;$(SolutionDir)\..\..\ixml\inc;$(SolutionDir)\..\..\ixml\src\inc;$(SolutionDir)\..\..\threadutil\inc;$(SolutionDir)\..\..\pthreads;$(SolutionDir)\..\..\pthreads\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <StringPooling>true</StringPooling> | ||||||
|  |       <RuntimeLibrary>MultiThreaded</RuntimeLibrary> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <PrecompiledHeaderOutputFile> | ||||||
|  |       </PrecompiledHeaderOutputFile> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ObjectFileName>$(IntDir)</ObjectFileName> | ||||||
|  |       <ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <BrowseInformation> | ||||||
|  |       </BrowseInformation> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <SuppressStartupBanner>true</SuppressStartupBanner> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ResourceCompile> | ||||||
|  |       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <Culture>0x0407</Culture> | ||||||
|  |     </ResourceCompile> | ||||||
|  |     <Lib> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\ixml;$(OutDir)..\lib\threadutil;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |     </Lib> | ||||||
|  |     <Bscmake> | ||||||
|  |       <SuppressStartupBanner>true</SuppressStartupBanner> | ||||||
|  |       <OutputFile>.\Release/libupnp.bsc</OutputFile> | ||||||
|  |     </Bscmake> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\api\ActionComplete.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\api\ActionRequest.c" /> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\attr.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\genlib\client_table\client_table.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\genlib\client_table\ClientSubscription.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\api\Discovery.c" /> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\document.c" /> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\element.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\api\Event.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\api\EventSubscribe.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\api\FileInfo.c" /> | ||||||
|  |     <ClCompile Include="..\..\threadutil\src\FreeList.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\gena\gena_callback2.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\gena\gena_ctrlpt.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\gena\gena_device.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\genlib\net\http\httpparser.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\genlib\net\http\httpreadwrite.c" /> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\ixml.c" /> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\ixmlmembuf.c" /> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\ixmlparser.c" /> | ||||||
|  |     <ClCompile Include="..\..\threadutil\src\LinkedList.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\uuid\md5.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\genlib\util\membuffer.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\genlib\miniserver\miniserver.c" /> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\namedNodeMap.c" /> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\node.c" /> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\nodeList.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\genlib\net\http\parsetools.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\genlib\service_table\service_table.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\soap\soap_common.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\soap\soap_ctrlpt.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\soap\soap_device.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\genlib\net\sock.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\ssdp\ssdp_ctrlpt.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\ssdp\ssdp_device.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\ssdp\ssdp_ResultData.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\ssdp\ssdp_server.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\genlib\net\http\statcodes.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\api\StateVarComplete.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\api\StateVarRequest.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\genlib\util\strintmap.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\api\SubscriptionRequest.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\uuid\sysdep.c" /> | ||||||
|  |     <ClCompile Include="..\..\threadutil\src\ThreadPool.c" /> | ||||||
|  |     <ClCompile Include="..\..\threadutil\src\TimerThread.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\genlib\util\upnp_timeout.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\api\upnpapi.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\api\upnpdebug.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\api\UpnpString.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\api\upnptools.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\genlib\net\uri\uri.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\urlconfig\urlconfig.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\genlib\util\util.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\uuid\uuid.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\genlib\net\http\webserver.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\win_dll.c" /> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\ActionComplete.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\ActionRequest.h" /> | ||||||
|  |     <ClInclude Include="..\inc\autoconfig.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\Callback.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\client_table.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\config.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\Discovery.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\Event.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\EventSubscribe.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\FileInfo.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\gena.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\gena_ctrlpt.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\gena_device.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\global.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\gmtdate.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\httpparser.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\httpreadwrite.h" /> | ||||||
|  |     <ClInclude Include="..\msvc\inttypes.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\md5.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\membuffer.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\miniserver.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\netall.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\parsetools.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\server.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\service_table.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\soaplib.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\sock.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\ssdp\ssdp_ResultData.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\ssdplib.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\statcodes.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\StateVarComplete.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\StateVarRequest.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\statuscodes.h" /> | ||||||
|  |     <ClInclude Include="..\msvc\stdint.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\strintmap.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\SubscriptionRequest.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\sysdep.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\TemplateInclude.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\TemplateSource.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\TemplateUndef.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\unixutil.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\upnp.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\upnp_timeout.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\upnpapi.h" /> | ||||||
|  |     <ClInclude Include="..\inc\upnpconfig.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\upnpdebug.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\UpnpGlobal.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\UpnpInet.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\UpnpIntTypes.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\UpnpStdInt.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\UpnpString.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\upnptools.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\UpnpUniStd.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\upnputil.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\uri.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\urlconfig.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\uuid.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\VirtualDir.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\webserver.h" /> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ProjectReference Include="ixml.vcxproj"> | ||||||
|  |       <Project>{9c2c266d-35a3-465f-a297-0e21d54e5c89}</Project> | ||||||
|  |       <ReferenceOutputAssembly>false</ReferenceOutputAssembly> | ||||||
|  |     </ProjectReference> | ||||||
|  |     <ProjectReference Include="threadutil.vcxproj"> | ||||||
|  |       <Project>{1d3eef7a-d248-48c0-b6b5-eca229fe4b3d}</Project> | ||||||
|  |       <ReferenceOutputAssembly>false</ReferenceOutputAssembly> | ||||||
|  |     </ProjectReference> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | ||||||
|  |   <ImportGroup Label="ExtensionTargets"> | ||||||
|  |   </ImportGroup> | ||||||
|  | </Project> | ||||||
							
								
								
									
										362
									
								
								build/vc10/libupnp.vcxproj.filters
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										362
									
								
								build/vc10/libupnp.vcxproj.filters
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,362 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <Filter Include="sources"> | ||||||
|  |       <UniqueIdentifier>{47d40159-145c-4ff3-98f5-9b2c96c80092}</UniqueIdentifier> | ||||||
|  |       <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions> | ||||||
|  |     </Filter> | ||||||
|  |     <Filter Include="headers"> | ||||||
|  |       <UniqueIdentifier>{2a8d348a-a429-4b41-9934-050df3866f50}</UniqueIdentifier> | ||||||
|  |       <Extensions>h;hpp;hxx;hm;inl</Extensions> | ||||||
|  |     </Filter> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\api\ActionComplete.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\api\ActionRequest.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\attr.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\genlib\client_table\client_table.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\genlib\client_table\ClientSubscription.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\api\Discovery.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\document.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\element.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\api\Event.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\api\EventSubscribe.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\api\FileInfo.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\threadutil\src\FreeList.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\gena\gena_callback2.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\gena\gena_ctrlpt.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\gena\gena_device.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\genlib\net\http\httpparser.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\genlib\net\http\httpreadwrite.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\ixml.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\ixmlmembuf.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\ixmlparser.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\threadutil\src\LinkedList.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\uuid\md5.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\genlib\util\membuffer.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\genlib\miniserver\miniserver.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\namedNodeMap.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\node.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\ixml\src\nodeList.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\genlib\net\http\parsetools.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\genlib\service_table\service_table.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\soap\soap_common.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\soap\soap_ctrlpt.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\soap\soap_device.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\genlib\net\sock.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\ssdp\ssdp_ctrlpt.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\ssdp\ssdp_device.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\ssdp\ssdp_ResultData.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\ssdp\ssdp_server.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\genlib\net\http\statcodes.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\api\StateVarComplete.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\api\StateVarRequest.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\genlib\util\strintmap.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\api\SubscriptionRequest.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\uuid\sysdep.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\threadutil\src\ThreadPool.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\threadutil\src\TimerThread.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\genlib\util\upnp_timeout.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\api\upnpapi.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\api\upnpdebug.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\api\UpnpString.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\api\upnptools.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\genlib\net\uri\uri.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\urlconfig\urlconfig.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\genlib\util\util.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\uuid\uuid.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\genlib\net\http\webserver.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\src\win_dll.c"> | ||||||
|  |       <Filter>sources</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\ActionComplete.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\ActionRequest.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\inc\autoconfig.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\Callback.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\client_table.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\config.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\Discovery.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\Event.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\EventSubscribe.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\FileInfo.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\gena.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\gena_ctrlpt.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\gena_device.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\global.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\gmtdate.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\httpparser.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\httpreadwrite.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\msvc\inttypes.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\md5.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\membuffer.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\miniserver.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\netall.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\parsetools.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\server.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\service_table.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\soaplib.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\sock.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\ssdp\ssdp_ResultData.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\ssdplib.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\statcodes.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\StateVarComplete.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\StateVarRequest.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\statuscodes.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\msvc\stdint.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\strintmap.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\SubscriptionRequest.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\sysdep.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\TemplateInclude.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\TemplateSource.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\TemplateUndef.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\unixutil.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\upnp.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\upnp_timeout.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\upnpapi.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\inc\upnpconfig.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\upnpdebug.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\UpnpGlobal.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\UpnpInet.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\UpnpIntTypes.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\UpnpStdInt.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\UpnpString.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\upnptools.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\inc\UpnpUniStd.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\upnputil.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\uri.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\urlconfig.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\uuid.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\VirtualDir.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\src\inc\webserver.h"> | ||||||
|  |       <Filter>headers</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |   </ItemGroup> | ||||||
|  | </Project> | ||||||
							
								
								
									
										332
									
								
								build/vc10/threadutil.vcxproj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										332
									
								
								build/vc10/threadutil.vcxproj
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,332 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||||
|  |   <ItemGroup Label="ProjectConfigurations"> | ||||||
|  |     <ProjectConfiguration Include="Debug Lib|Win32"> | ||||||
|  |       <Configuration>Debug Lib</Configuration> | ||||||
|  |       <Platform>Win32</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Debug Lib|x64"> | ||||||
|  |       <Configuration>Debug Lib</Configuration> | ||||||
|  |       <Platform>x64</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Debug|Win32"> | ||||||
|  |       <Configuration>Debug</Configuration> | ||||||
|  |       <Platform>Win32</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Debug|x64"> | ||||||
|  |       <Configuration>Debug</Configuration> | ||||||
|  |       <Platform>x64</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Release Lib|Win32"> | ||||||
|  |       <Configuration>Release Lib</Configuration> | ||||||
|  |       <Platform>Win32</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Release Lib|x64"> | ||||||
|  |       <Configuration>Release Lib</Configuration> | ||||||
|  |       <Platform>x64</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Release|Win32"> | ||||||
|  |       <Configuration>Release</Configuration> | ||||||
|  |       <Platform>Win32</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Release|x64"> | ||||||
|  |       <Configuration>Release</Configuration> | ||||||
|  |       <Platform>x64</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <PropertyGroup Label="Globals"> | ||||||
|  |     <ProjectGuid>{1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}</ProjectGuid> | ||||||
|  |     <RootNamespace>threadutil</RootNamespace> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>StaticLibrary</ConfigurationType> | ||||||
|  |     <CharacterSet>NotSet</CharacterSet> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>StaticLibrary</ConfigurationType> | ||||||
|  |     <CharacterSet>NotSet</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>StaticLibrary</ConfigurationType> | ||||||
|  |     <CharacterSet>NotSet</CharacterSet> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>StaticLibrary</ConfigurationType> | ||||||
|  |     <CharacterSet>NotSet</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>StaticLibrary</ConfigurationType> | ||||||
|  |     <CharacterSet>NotSet</CharacterSet> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>StaticLibrary</ConfigurationType> | ||||||
|  |     <CharacterSet>NotSet</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>StaticLibrary</ConfigurationType> | ||||||
|  |     <CharacterSet>NotSet</CharacterSet> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>StaticLibrary</ConfigurationType> | ||||||
|  |     <CharacterSet>NotSet</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> | ||||||
|  |   <ImportGroup Label="ExtensionSettings"> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <PropertyGroup Label="UserMacros" /> | ||||||
|  |   <PropertyGroup> | ||||||
|  |     <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\lib\$(ProjectName)\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>Disabled</Optimization> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\threadutil\inc;..\..\upnp\inc;..\..\pthreads;..\..\pthreads\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>DEBUG;WIN32;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <MinimalRebuild>true</MinimalRebuild> | ||||||
|  |       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Lib> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |     </Lib> | ||||||
|  |     <BuildLog> | ||||||
|  |       <Path>$(IntDir)$(MSBuildProjectName).log</Path> | ||||||
|  |     </BuildLog> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> | ||||||
|  |     <Midl> | ||||||
|  |       <TargetEnvironment>X64</TargetEnvironment> | ||||||
|  |     </Midl> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>Disabled</Optimization> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\threadutil\inc;..\..\upnp\inc;..\..\pthreads;..\..\pthreads\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>DEBUG;WIN32;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <MinimalRebuild>true</MinimalRebuild> | ||||||
|  |       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Lib> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |     </Lib> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>MaxSpeed</Optimization> | ||||||
|  |       <InlineFunctionExpansion>Default</InlineFunctionExpansion> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\threadutil\inc;..\..\upnp\inc;..\..\pthreads;..\..\pthreads\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <StringPooling>true</StringPooling> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Lib> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |     </Lib> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> | ||||||
|  |     <Midl> | ||||||
|  |       <TargetEnvironment>X64</TargetEnvironment> | ||||||
|  |     </Midl> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>MaxSpeed</Optimization> | ||||||
|  |       <InlineFunctionExpansion>Default</InlineFunctionExpansion> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\threadutil\inc;..\..\upnp\inc;..\..\pthreads;..\..\pthreads\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBUPNP_EXPORTS;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <StringPooling>true</StringPooling> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Lib> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |     </Lib> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>Disabled</Optimization> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\threadutil\inc;..\..\upnp\inc;..\..\pthreads;..\..\pthreads\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>DEBUG;WIN32;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <MinimalRebuild>true</MinimalRebuild> | ||||||
|  |       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Lib> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |     </Lib> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'"> | ||||||
|  |     <Midl> | ||||||
|  |       <TargetEnvironment>X64</TargetEnvironment> | ||||||
|  |     </Midl> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>Disabled</Optimization> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\threadutil\inc;..\..\upnp\inc;..\..\pthreads;..\..\pthreads\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>DEBUG;WIN32;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <MinimalRebuild>true</MinimalRebuild> | ||||||
|  |       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Lib> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |     </Lib> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>MaxSpeed</Optimization> | ||||||
|  |       <InlineFunctionExpansion>Default</InlineFunctionExpansion> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\threadutil\inc;..\..\upnp\inc;..\..\pthreads;..\..\pthreads\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <StringPooling>true</StringPooling> | ||||||
|  |       <RuntimeLibrary>MultiThreaded</RuntimeLibrary> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Lib> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |     </Lib> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'"> | ||||||
|  |     <Midl> | ||||||
|  |       <TargetEnvironment>X64</TargetEnvironment> | ||||||
|  |     </Midl> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>MaxSpeed</Optimization> | ||||||
|  |       <InlineFunctionExpansion>Default</InlineFunctionExpansion> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\threadutil\inc;..\..\upnp\inc;..\..\pthreads;..\..\pthreads\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <StringPooling>true</StringPooling> | ||||||
|  |       <RuntimeLibrary>MultiThreaded</RuntimeLibrary> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Lib> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |     </Lib> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClCompile Include="..\..\threadutil\src\FreeList.c" /> | ||||||
|  |     <ClCompile Include="..\..\threadutil\src\LinkedList.c" /> | ||||||
|  |     <ClCompile Include="..\..\threadutil\src\ThreadPool.c" /> | ||||||
|  |     <ClCompile Include="..\..\threadutil\src\TimerThread.c" /> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClInclude Include="..\..\threadutil\inc\FreeList.h" /> | ||||||
|  |     <ClInclude Include="..\..\threadutil\inc\ithread.h" /> | ||||||
|  |     <ClInclude Include="..\..\threadutil\inc\LinkedList.h" /> | ||||||
|  |     <ClInclude Include="..\..\threadutil\inc\threadpool.h" /> | ||||||
|  |     <ClInclude Include="..\..\threadutil\inc\TimerThread.h" /> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | ||||||
|  |   <ImportGroup Label="ExtensionTargets"> | ||||||
|  |   </ImportGroup> | ||||||
|  | </Project> | ||||||
							
								
								
									
										44
									
								
								build/vc10/threadutil.vcxproj.filters
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								build/vc10/threadutil.vcxproj.filters
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <Filter Include="Source Files"> | ||||||
|  |       <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> | ||||||
|  |       <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> | ||||||
|  |     </Filter> | ||||||
|  |     <Filter Include="Header Files"> | ||||||
|  |       <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> | ||||||
|  |       <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> | ||||||
|  |     </Filter> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClCompile Include="..\..\threadutil\src\FreeList.c"> | ||||||
|  |       <Filter>Source Files</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\threadutil\src\LinkedList.c"> | ||||||
|  |       <Filter>Source Files</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\threadutil\src\ThreadPool.c"> | ||||||
|  |       <Filter>Source Files</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\threadutil\src\TimerThread.c"> | ||||||
|  |       <Filter>Source Files</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClInclude Include="..\..\threadutil\inc\FreeList.h"> | ||||||
|  |       <Filter>Header Files</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\threadutil\inc\ithread.h"> | ||||||
|  |       <Filter>Header Files</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\threadutil\inc\LinkedList.h"> | ||||||
|  |       <Filter>Header Files</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\threadutil\inc\threadpool.h"> | ||||||
|  |       <Filter>Header Files</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\threadutil\inc\TimerThread.h"> | ||||||
|  |       <Filter>Header Files</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |   </ItemGroup> | ||||||
|  | </Project> | ||||||
							
								
								
									
										416
									
								
								build/vc10/tvcombo.vcxproj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										416
									
								
								build/vc10/tvcombo.vcxproj
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,416 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||||
|  |   <ItemGroup Label="ProjectConfigurations"> | ||||||
|  |     <ProjectConfiguration Include="Debug Lib|Win32"> | ||||||
|  |       <Configuration>Debug Lib</Configuration> | ||||||
|  |       <Platform>Win32</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Debug Lib|x64"> | ||||||
|  |       <Configuration>Debug Lib</Configuration> | ||||||
|  |       <Platform>x64</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Debug|Win32"> | ||||||
|  |       <Configuration>Debug</Configuration> | ||||||
|  |       <Platform>Win32</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Debug|x64"> | ||||||
|  |       <Configuration>Debug</Configuration> | ||||||
|  |       <Platform>x64</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Release Lib|Win32"> | ||||||
|  |       <Configuration>Release Lib</Configuration> | ||||||
|  |       <Platform>Win32</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Release Lib|x64"> | ||||||
|  |       <Configuration>Release Lib</Configuration> | ||||||
|  |       <Platform>x64</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Release|Win32"> | ||||||
|  |       <Configuration>Release</Configuration> | ||||||
|  |       <Platform>Win32</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Release|x64"> | ||||||
|  |       <Configuration>Release</Configuration> | ||||||
|  |       <Platform>x64</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <PropertyGroup Label="Globals"> | ||||||
|  |     <ProjectGuid>{6365804B-22C6-4D5E-91F3-0C052EB55B4F}</ProjectGuid> | ||||||
|  |     <RootNamespace>tvcombo</RootNamespace> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <CharacterSet>NotSet</CharacterSet> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <CharacterSet>NotSet</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <CharacterSet>NotSet</CharacterSet> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <CharacterSet>NotSet</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <CharacterSet>NotSet</CharacterSet> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <CharacterSet>NotSet</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <CharacterSet>NotSet</CharacterSet> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <CharacterSet>NotSet</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> | ||||||
|  |   <ImportGroup Label="ExtensionSettings"> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <PropertyGroup Label="UserMacros" /> | ||||||
|  |   <PropertyGroup> | ||||||
|  |     <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">false</LinkIncremental> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">false</LinkIncremental> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">false</LinkIncremental> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">false</LinkIncremental> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>Disabled</Optimization> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;DEBUG;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <MinimalRebuild>true</MinimalRebuild> | ||||||
|  |       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\libupnp;$(OutDir)..\lib\threadutil;$(OutDir)..\lib\ixml;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |       <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <TargetMachine>MachineX86</TargetMachine> | ||||||
|  |     </Link> | ||||||
|  |     <BuildLog> | ||||||
|  |       <Path>$(IntDir)$(MSBuildProjectName).log</Path> | ||||||
|  |     </BuildLog> | ||||||
|  |     <PostBuildEvent> | ||||||
|  |       <Command>copy "$(SolutionDir)..\..\pthreads\lib\pthread*.dll" "$(OutDir)" | ||||||
|  | mkdir "$(OutDir)web" | ||||||
|  | xcopy "$(SolutionDir)..\..\upnp\sample\web" "$(OutDir)web" /S /E /Y | ||||||
|  | </Command> | ||||||
|  |       <Message>Copy sample web folder and pthreadVC2.dll to output dir</Message> | ||||||
|  |     </PostBuildEvent> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> | ||||||
|  |     <Midl> | ||||||
|  |       <TargetEnvironment>X64</TargetEnvironment> | ||||||
|  |     </Midl> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>Disabled</Optimization> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;DEBUG;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <MinimalRebuild>true</MinimalRebuild> | ||||||
|  |       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |       <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <TargetMachine>MachineX64</TargetMachine> | ||||||
|  |     </Link> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>MaxSpeed</Optimization> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;RELEASE;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <StringPooling>true</StringPooling> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\libupnp;$(OutDir)..\lib\threadutil;$(OutDir)..\lib\ixml;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |       <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <OptimizeReferences>true</OptimizeReferences> | ||||||
|  |       <EnableCOMDATFolding>true</EnableCOMDATFolding> | ||||||
|  |       <TargetMachine>MachineX86</TargetMachine> | ||||||
|  |     </Link> | ||||||
|  |     <PostBuildEvent> | ||||||
|  |       <Command>copy "$(SolutionDir)..\..\pthreads\lib\pthread*.dll" "$(OutDir)" | ||||||
|  | mkdir "$(OutDir)web" | ||||||
|  | xcopy "$(SolutionDir)..\..\upnp\sample\web" "$(OutDir)web" /S /E /Y | ||||||
|  | </Command> | ||||||
|  |       <Message>Copy sample web folder and pthreadVC2.dll to output dir</Message> | ||||||
|  |     </PostBuildEvent> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> | ||||||
|  |     <Midl> | ||||||
|  |       <TargetEnvironment>X64</TargetEnvironment> | ||||||
|  |     </Midl> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>MaxSpeed</Optimization> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;RELEASE;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <StringPooling>true</StringPooling> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |       <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <OptimizeReferences>true</OptimizeReferences> | ||||||
|  |       <EnableCOMDATFolding>true</EnableCOMDATFolding> | ||||||
|  |       <TargetMachine>MachineX64</TargetMachine> | ||||||
|  |     </Link> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>Disabled</Optimization> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;DEBUG;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <MinimalRebuild>true</MinimalRebuild> | ||||||
|  |       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\libupnp;$(OutDir)..\lib\threadutil;$(OutDir)..\lib\ixml;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |       <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <TargetMachine>MachineX86</TargetMachine> | ||||||
|  |     </Link> | ||||||
|  |     <PostBuildEvent> | ||||||
|  |       <Command>copy "$(SolutionDir)..\..\pthreads\lib\pthread*.dll" "$(OutDir)" | ||||||
|  | mkdir "$(OutDir)web" | ||||||
|  | xcopy "$(SolutionDir)..\..\upnp\sample\web" "$(OutDir)web" /S /E /Y | ||||||
|  | </Command> | ||||||
|  |       <Message>Copy sample web folder and pthreadVC2.dll to output dir</Message> | ||||||
|  |     </PostBuildEvent> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'"> | ||||||
|  |     <Midl> | ||||||
|  |       <TargetEnvironment>X64</TargetEnvironment> | ||||||
|  |     </Midl> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>Disabled</Optimization> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;DEBUG;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <MinimalRebuild>true</MinimalRebuild> | ||||||
|  |       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |       <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <TargetMachine>MachineX64</TargetMachine> | ||||||
|  |     </Link> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>MaxSpeed</Optimization> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <StringPooling>true</StringPooling> | ||||||
|  |       <RuntimeLibrary>MultiThreaded</RuntimeLibrary> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\libupnp;$(OutDir)..\lib\threadutil;$(OutDir)..\lib\ixml;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |       <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <OptimizeReferences>true</OptimizeReferences> | ||||||
|  |       <EnableCOMDATFolding>true</EnableCOMDATFolding> | ||||||
|  |       <TargetMachine>MachineX86</TargetMachine> | ||||||
|  |     </Link> | ||||||
|  |     <PostBuildEvent> | ||||||
|  |       <Command>copy "$(SolutionDir)..\..\pthreads\lib\pthread*.dll" "$(OutDir)" | ||||||
|  | mkdir "$(OutDir)web" | ||||||
|  | xcopy "$(SolutionDir)..\..\upnp\sample\web" "$(OutDir)web" /S /E /Y | ||||||
|  | </Command> | ||||||
|  |       <Message>Copy sample web folder and pthreadVC2.dll to output dir</Message> | ||||||
|  |     </PostBuildEvent> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'"> | ||||||
|  |     <Midl> | ||||||
|  |       <TargetEnvironment>X64</TargetEnvironment> | ||||||
|  |     </Midl> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>MaxSpeed</Optimization> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <StringPooling>true</StringPooling> | ||||||
|  |       <RuntimeLibrary>MultiThreaded</RuntimeLibrary> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |       <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <OptimizeReferences>true</OptimizeReferences> | ||||||
|  |       <EnableCOMDATFolding>true</EnableCOMDATFolding> | ||||||
|  |       <TargetMachine>MachineX64</TargetMachine> | ||||||
|  |     </Link> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClCompile Include="..\..\upnp\sample\common\sample_util.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\sample\linux\tv_combo_main.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\sample\common\tv_ctrlpt.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\sample\common\tv_device.c" /> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClInclude Include="..\..\upnp\sample\common\sample_util.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\sample\common\tv_ctrlpt.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\sample\common\tv_device.h" /> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ProjectReference Include="libupnp.vcxproj"> | ||||||
|  |       <Project>{6227f51a-1498-4c4a-b213-f6fded605125}</Project> | ||||||
|  |       <ReferenceOutputAssembly>false</ReferenceOutputAssembly> | ||||||
|  |     </ProjectReference> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | ||||||
|  |   <ImportGroup Label="ExtensionTargets"> | ||||||
|  |   </ImportGroup> | ||||||
|  | </Project> | ||||||
							
								
								
									
										38
									
								
								build/vc10/tvcombo.vcxproj.filters
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								build/vc10/tvcombo.vcxproj.filters
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,38 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <Filter Include="Source Files"> | ||||||
|  |       <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> | ||||||
|  |       <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> | ||||||
|  |     </Filter> | ||||||
|  |     <Filter Include="Header Files"> | ||||||
|  |       <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> | ||||||
|  |       <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> | ||||||
|  |     </Filter> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClCompile Include="..\..\upnp\sample\common\sample_util.c"> | ||||||
|  |       <Filter>Source Files</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\sample\linux\tv_combo_main.c"> | ||||||
|  |       <Filter>Source Files</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\sample\common\tv_ctrlpt.c"> | ||||||
|  |       <Filter>Source Files</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\sample\common\tv_device.c"> | ||||||
|  |       <Filter>Source Files</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClInclude Include="..\..\upnp\sample\common\sample_util.h"> | ||||||
|  |       <Filter>Header Files</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\sample\common\tv_ctrlpt.h"> | ||||||
|  |       <Filter>Header Files</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\sample\common\tv_device.h"> | ||||||
|  |       <Filter>Header Files</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |   </ItemGroup> | ||||||
|  | </Project> | ||||||
							
								
								
									
										414
									
								
								build/vc10/tvctrlpt.vcxproj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										414
									
								
								build/vc10/tvctrlpt.vcxproj
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,414 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||||
|  |   <ItemGroup Label="ProjectConfigurations"> | ||||||
|  |     <ProjectConfiguration Include="Debug Lib|Win32"> | ||||||
|  |       <Configuration>Debug Lib</Configuration> | ||||||
|  |       <Platform>Win32</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Debug Lib|x64"> | ||||||
|  |       <Configuration>Debug Lib</Configuration> | ||||||
|  |       <Platform>x64</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Debug|Win32"> | ||||||
|  |       <Configuration>Debug</Configuration> | ||||||
|  |       <Platform>Win32</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Debug|x64"> | ||||||
|  |       <Configuration>Debug</Configuration> | ||||||
|  |       <Platform>x64</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Release Lib|Win32"> | ||||||
|  |       <Configuration>Release Lib</Configuration> | ||||||
|  |       <Platform>Win32</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Release Lib|x64"> | ||||||
|  |       <Configuration>Release Lib</Configuration> | ||||||
|  |       <Platform>x64</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Release|Win32"> | ||||||
|  |       <Configuration>Release</Configuration> | ||||||
|  |       <Platform>Win32</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Release|x64"> | ||||||
|  |       <Configuration>Release</Configuration> | ||||||
|  |       <Platform>x64</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <PropertyGroup Label="Globals"> | ||||||
|  |     <ProjectGuid>{8FB56F1C-E617-4B79-96AE-1FA499A3A9B5}</ProjectGuid> | ||||||
|  |     <RootNamespace>sample</RootNamespace> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <CharacterSet>MultiByte</CharacterSet> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <CharacterSet>MultiByte</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <CharacterSet>MultiByte</CharacterSet> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <CharacterSet>MultiByte</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <CharacterSet>MultiByte</CharacterSet> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <CharacterSet>MultiByte</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <CharacterSet>MultiByte</CharacterSet> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <CharacterSet>MultiByte</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> | ||||||
|  |   <ImportGroup Label="ExtensionSettings"> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <PropertyGroup Label="UserMacros" /> | ||||||
|  |   <PropertyGroup> | ||||||
|  |     <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)\out.vc10.$(Platform)\$(Configuration)\bin\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">$(SolutionDir)\out.vc10.$(Platform)\$(Configuration)\bin\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">false</LinkIncremental> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">$(SolutionDir)\out.vc10.$(Platform)\$(Configuration)\bin\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">false</LinkIncremental> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">$(SolutionDir)\out.vc10.$(Platform)\$(Configuration)\bin\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">false</LinkIncremental> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">$(SolutionDir)\out.vc10.$(Platform)\$(Configuration)\bin\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">false</LinkIncremental> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>Disabled</Optimization> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\ixml\inc;..\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include;..\..\upnp\sample\tvctrlpt\linux;..\..\upnp\sample\tvctrlpt;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;DEBUG;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <MinimalRebuild>true</MinimalRebuild> | ||||||
|  |       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\libupnp;$(OutDir)..\lib\threadutil;$(OutDir)..\lib\ixml;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |       <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <TargetMachine>MachineX86</TargetMachine> | ||||||
|  |     </Link> | ||||||
|  |     <BuildLog> | ||||||
|  |       <Path>$(IntDir)$(MSBuildProjectName).log</Path> | ||||||
|  |     </BuildLog> | ||||||
|  |     <PostBuildEvent> | ||||||
|  |       <Command>copy "$(SolutionDir)..\..\pthreads\lib\pthread*.dll" "$(OutDir)" | ||||||
|  | mkdir "$(OutDir)web" | ||||||
|  | xcopy "$(SolutionDir)..\..\upnp\sample\web" "$(OutDir)web" /S /E /Y | ||||||
|  | </Command> | ||||||
|  |       <Message>Copy sample web folder and pthreadVC2.dll to output dir</Message> | ||||||
|  |     </PostBuildEvent> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> | ||||||
|  |     <Midl> | ||||||
|  |       <TargetEnvironment>X64</TargetEnvironment> | ||||||
|  |     </Midl> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>Disabled</Optimization> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\ixml\inc;..\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include;..\..\upnp\sample\tvctrlpt\linux;..\..\upnp\sample\tvctrlpt;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;DEBUG;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <MinimalRebuild>true</MinimalRebuild> | ||||||
|  |       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |       <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <TargetMachine>MachineX64</TargetMachine> | ||||||
|  |     </Link> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>MaxSpeed</Optimization> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;RELEASE;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <StringPooling>true</StringPooling> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\libupnp;$(OutDir)..\lib\threadutil;$(OutDir)..\lib\ixml;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |       <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <OptimizeReferences>true</OptimizeReferences> | ||||||
|  |       <EnableCOMDATFolding>true</EnableCOMDATFolding> | ||||||
|  |       <TargetMachine>MachineX86</TargetMachine> | ||||||
|  |     </Link> | ||||||
|  |     <PostBuildEvent> | ||||||
|  |       <Command>copy "$(SolutionDir)..\..\pthreads\lib\pthread*.dll" "$(OutDir)" | ||||||
|  | mkdir "$(OutDir)web" | ||||||
|  | xcopy "$(SolutionDir)..\..\upnp\sample\web" "$(OutDir)web" /S /E /Y | ||||||
|  | </Command> | ||||||
|  |       <Message>Copy sample web folder and pthreadVC2.dll to output dir</Message> | ||||||
|  |     </PostBuildEvent> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> | ||||||
|  |     <Midl> | ||||||
|  |       <TargetEnvironment>X64</TargetEnvironment> | ||||||
|  |     </Midl> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>MaxSpeed</Optimization> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;RELEASE;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <StringPooling>true</StringPooling> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |       <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <OptimizeReferences>true</OptimizeReferences> | ||||||
|  |       <EnableCOMDATFolding>true</EnableCOMDATFolding> | ||||||
|  |       <TargetMachine>MachineX64</TargetMachine> | ||||||
|  |     </Link> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>Disabled</Optimization> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\ixml\inc;..\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include;..\..\upnp\sample\tvctrlpt\linux;..\..\upnp\sample\tvctrlpt;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;DEBUG;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <MinimalRebuild>true</MinimalRebuild> | ||||||
|  |       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\libupnp;$(OutDir)..\lib\threadutil;$(OutDir)..\lib\ixml;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |       <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <TargetMachine>MachineX86</TargetMachine> | ||||||
|  |     </Link> | ||||||
|  |     <PostBuildEvent> | ||||||
|  |       <Command>copy "$(SolutionDir)..\..\pthreads\lib\pthread*.dll" "$(OutDir)" | ||||||
|  | mkdir "$(OutDir)web" | ||||||
|  | xcopy "$(SolutionDir)..\..\upnp\sample\web" "$(OutDir)web" /S /E /Y | ||||||
|  | </Command> | ||||||
|  |       <Message>Copy sample web folder and pthreadVC2.dll to output dir</Message> | ||||||
|  |     </PostBuildEvent> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'"> | ||||||
|  |     <Midl> | ||||||
|  |       <TargetEnvironment>X64</TargetEnvironment> | ||||||
|  |     </Midl> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>Disabled</Optimization> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\ixml\inc;..\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include;..\..\upnp\sample\tvctrlpt\linux;..\..\upnp\sample\tvctrlpt;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;DEBUG;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <MinimalRebuild>true</MinimalRebuild> | ||||||
|  |       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |       <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <TargetMachine>MachineX64</TargetMachine> | ||||||
|  |     </Link> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>MaxSpeed</Optimization> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <StringPooling>true</StringPooling> | ||||||
|  |       <RuntimeLibrary>MultiThreaded</RuntimeLibrary> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\libupnp;$(OutDir)..\lib\threadutil;$(OutDir)..\lib\ixml;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |       <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <OptimizeReferences>true</OptimizeReferences> | ||||||
|  |       <EnableCOMDATFolding>true</EnableCOMDATFolding> | ||||||
|  |       <TargetMachine>MachineX86</TargetMachine> | ||||||
|  |     </Link> | ||||||
|  |     <PostBuildEvent> | ||||||
|  |       <Command>copy "$(SolutionDir)..\..\pthreads\lib\pthread*.dll" "$(OutDir)" | ||||||
|  | mkdir "$(OutDir)web" | ||||||
|  | xcopy "$(SolutionDir)..\..\upnp\sample\web" "$(OutDir)web" /S /E /Y | ||||||
|  | </Command> | ||||||
|  |       <Message>Copy sample web folder and pthreadVC2.dll to output dir</Message> | ||||||
|  |     </PostBuildEvent> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'"> | ||||||
|  |     <Midl> | ||||||
|  |       <TargetEnvironment>X64</TargetEnvironment> | ||||||
|  |     </Midl> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>MaxSpeed</Optimization> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <StringPooling>true</StringPooling> | ||||||
|  |       <RuntimeLibrary>MultiThreaded</RuntimeLibrary> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |       <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <OptimizeReferences>true</OptimizeReferences> | ||||||
|  |       <EnableCOMDATFolding>true</EnableCOMDATFolding> | ||||||
|  |       <TargetMachine>MachineX64</TargetMachine> | ||||||
|  |     </Link> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClCompile Include="..\..\upnp\sample\common\sample_util.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\sample\common\tv_ctrlpt.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\sample\linux\tv_ctrlpt_main.c" /> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClInclude Include="..\..\upnp\sample\common\sample_util.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\sample\common\tv_ctrlpt.h" /> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ProjectReference Include="libupnp.vcxproj"> | ||||||
|  |       <Project>{6227f51a-1498-4c4a-b213-f6fded605125}</Project> | ||||||
|  |       <ReferenceOutputAssembly>false</ReferenceOutputAssembly> | ||||||
|  |     </ProjectReference> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | ||||||
|  |   <ImportGroup Label="ExtensionTargets"> | ||||||
|  |   </ImportGroup> | ||||||
|  | </Project> | ||||||
							
								
								
									
										32
									
								
								build/vc10/tvctrlpt.vcxproj.filters
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								build/vc10/tvctrlpt.vcxproj.filters
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <Filter Include="Source Files"> | ||||||
|  |       <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> | ||||||
|  |       <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> | ||||||
|  |     </Filter> | ||||||
|  |     <Filter Include="Header Files"> | ||||||
|  |       <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> | ||||||
|  |       <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> | ||||||
|  |     </Filter> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClCompile Include="..\..\upnp\sample\common\sample_util.c"> | ||||||
|  |       <Filter>Source Files</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\sample\common\tv_ctrlpt.c"> | ||||||
|  |       <Filter>Source Files</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\sample\linux\tv_ctrlpt_main.c"> | ||||||
|  |       <Filter>Source Files</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClInclude Include="..\..\upnp\sample\common\sample_util.h"> | ||||||
|  |       <Filter>Header Files</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\sample\common\tv_ctrlpt.h"> | ||||||
|  |       <Filter>Header Files</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |   </ItemGroup> | ||||||
|  | </Project> | ||||||
							
								
								
									
										423
									
								
								build/vc10/tvdevice.vcxproj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										423
									
								
								build/vc10/tvdevice.vcxproj
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,423 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||||
|  |   <ItemGroup Label="ProjectConfigurations"> | ||||||
|  |     <ProjectConfiguration Include="Debug Lib|Win32"> | ||||||
|  |       <Configuration>Debug Lib</Configuration> | ||||||
|  |       <Platform>Win32</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Debug Lib|x64"> | ||||||
|  |       <Configuration>Debug Lib</Configuration> | ||||||
|  |       <Platform>x64</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Debug|Win32"> | ||||||
|  |       <Configuration>Debug</Configuration> | ||||||
|  |       <Platform>Win32</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Debug|x64"> | ||||||
|  |       <Configuration>Debug</Configuration> | ||||||
|  |       <Platform>x64</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Release Lib|Win32"> | ||||||
|  |       <Configuration>Release Lib</Configuration> | ||||||
|  |       <Platform>Win32</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Release Lib|x64"> | ||||||
|  |       <Configuration>Release Lib</Configuration> | ||||||
|  |       <Platform>x64</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Release|Win32"> | ||||||
|  |       <Configuration>Release</Configuration> | ||||||
|  |       <Platform>Win32</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Release|x64"> | ||||||
|  |       <Configuration>Release</Configuration> | ||||||
|  |       <Platform>x64</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <PropertyGroup Label="Globals"> | ||||||
|  |     <ProjectGuid>{7FB5F4A6-74F9-471D-B358-BAA0AC1CCA0A}</ProjectGuid> | ||||||
|  |     <RootNamespace>tvdevice</RootNamespace> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <CharacterSet>MultiByte</CharacterSet> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <CharacterSet>MultiByte</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <CharacterSet>MultiByte</CharacterSet> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <CharacterSet>MultiByte</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <CharacterSet>MultiByte</CharacterSet> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <CharacterSet>MultiByte</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <CharacterSet>MultiByte</CharacterSet> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <CharacterSet>MultiByte</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> | ||||||
|  |   <ImportGroup Label="ExtensionSettings"> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <PropertyGroup Label="UserMacros" /> | ||||||
|  |   <PropertyGroup> | ||||||
|  |     <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">false</LinkIncremental> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">false</LinkIncremental> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">false</LinkIncremental> | ||||||
|  |     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\bin\</OutDir> | ||||||
|  |     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">$(SolutionDir)out.vc10.$(Platform)\$(Configuration)\tmp\$(ProjectName)\</IntDir> | ||||||
|  |     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">false</LinkIncremental> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> | ||||||
|  |     <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet> | ||||||
|  |     <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> | ||||||
|  |     <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>Disabled</Optimization> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\upnp\inc;..\..\ixml\inc;..\..\upnp\sample\common;..\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include;..\..\upnp\sample\tvdevice;..\..\upnp\sample\tvdevice\linux;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;DEBUG;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <MinimalRebuild>true</MinimalRebuild> | ||||||
|  |       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\libupnp;$(OutDir)..\lib\threadutil;$(OutDir)..\lib\ixml;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |       <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <TargetMachine>MachineX86</TargetMachine> | ||||||
|  |     </Link> | ||||||
|  |     <BuildLog> | ||||||
|  |       <Path>$(IntDir)$(MSBuildProjectName).log</Path> | ||||||
|  |     </BuildLog> | ||||||
|  |     <PostBuildEvent> | ||||||
|  |       <Command>copy "$(SolutionDir)..\..\pthreads\lib\pthread*.dll" "$(OutDir)" | ||||||
|  | mkdir "$(OutDir)web" | ||||||
|  | xcopy "$(SolutionDir)..\..\upnp\sample\web" "$(OutDir)web" /S /E /Y | ||||||
|  | </Command> | ||||||
|  |     </PostBuildEvent> | ||||||
|  |     <PostBuildEvent> | ||||||
|  |       <Message>Copy sample web folder and pthreadVC2.dll to output dir</Message> | ||||||
|  |     </PostBuildEvent> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> | ||||||
|  |     <Midl> | ||||||
|  |       <TargetEnvironment>X64</TargetEnvironment> | ||||||
|  |     </Midl> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>Disabled</Optimization> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\upnp\inc;..\..\ixml\inc;..\..\upnp\sample\common;..\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include;..\..\upnp\sample\tvdevice;..\..\upnp\sample\tvdevice\linux;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;DEBUG;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <MinimalRebuild>true</MinimalRebuild> | ||||||
|  |       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |       <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <TargetMachine>MachineX64</TargetMachine> | ||||||
|  |     </Link> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>MaxSpeed</Optimization> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;RELEASE;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <StringPooling>true</StringPooling> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\libupnp;$(OutDir)..\lib\threadutil;$(OutDir)..\lib\ixml;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |       <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <OptimizeReferences>true</OptimizeReferences> | ||||||
|  |       <EnableCOMDATFolding>true</EnableCOMDATFolding> | ||||||
|  |       <TargetMachine>MachineX86</TargetMachine> | ||||||
|  |     </Link> | ||||||
|  |     <PostBuildEvent> | ||||||
|  |       <Command>copy "$(SolutionDir)..\..\pthreads\lib\pthread*.dll" "$(OutDir)" | ||||||
|  | mkdir "$(OutDir)web" | ||||||
|  | xcopy "$(SolutionDir)..\..\upnp\sample\web" "$(OutDir)web" /S /E /Y | ||||||
|  | </Command> | ||||||
|  |       <Message>Copy sample web folder and pthreadVC2.dll to output dir</Message> | ||||||
|  |     </PostBuildEvent> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> | ||||||
|  |     <Midl> | ||||||
|  |       <TargetEnvironment>X64</TargetEnvironment> | ||||||
|  |     </Midl> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>MaxSpeed</Optimization> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;RELEASE;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <StringPooling>true</StringPooling> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |       <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <OptimizeReferences>true</OptimizeReferences> | ||||||
|  |       <EnableCOMDATFolding>true</EnableCOMDATFolding> | ||||||
|  |       <TargetMachine>MachineX64</TargetMachine> | ||||||
|  |     </Link> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|Win32'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>Disabled</Optimization> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\upnp\inc;..\..\ixml\inc;..\..\upnp\sample\common;..\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include;..\..\upnp\sample\tvdevice;..\..\upnp\sample\tvdevice\linux;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;DEBUG;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <MinimalRebuild>true</MinimalRebuild> | ||||||
|  |       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\libupnp;$(OutDir)..\lib\threadutil;$(OutDir)..\lib\ixml;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |       <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <TargetMachine>MachineX86</TargetMachine> | ||||||
|  |     </Link> | ||||||
|  |     <PostBuildEvent> | ||||||
|  |       <Command>copy "$(SolutionDir)..\..\pthreads\lib\pthread*.dll" "$(OutDir)" | ||||||
|  | mkdir "$(OutDir)web" | ||||||
|  | xcopy "$(SolutionDir)..\..\upnp\sample\web" "$(OutDir)web" /S /E /Y | ||||||
|  | </Command> | ||||||
|  |       <Message>Copy sample web folder and pthreadVC2.dll to output dir</Message> | ||||||
|  |     </PostBuildEvent> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lib|x64'"> | ||||||
|  |     <Midl> | ||||||
|  |       <TargetEnvironment>X64</TargetEnvironment> | ||||||
|  |     </Midl> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>Disabled</Optimization> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\upnp\inc;..\..\ixml\inc;..\..\upnp\sample\common;..\inc;..\..\threadutil\inc;..\..\pthreads;..\..\pthreads\include;..\..\upnp\sample\tvdevice;..\..\upnp\sample\tvdevice\linux;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;DEBUG;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <MinimalRebuild>true</MinimalRebuild> | ||||||
|  |       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | ||||||
|  |       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |       <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <TargetMachine>MachineX64</TargetMachine> | ||||||
|  |     </Link> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|Win32'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>MaxSpeed</Optimization> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <StringPooling>true</StringPooling> | ||||||
|  |       <RuntimeLibrary>MultiThreaded</RuntimeLibrary> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib\libupnp;$(OutDir)..\lib\threadutil;$(OutDir)..\lib\ixml;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |       <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <OptimizeReferences>true</OptimizeReferences> | ||||||
|  |       <EnableCOMDATFolding>true</EnableCOMDATFolding> | ||||||
|  |       <TargetMachine>MachineX86</TargetMachine> | ||||||
|  |     </Link> | ||||||
|  |     <PostBuildEvent> | ||||||
|  |       <Command>copy "$(SolutionDir)..\..\pthreads\lib\pthread*.dll" "$(OutDir)" | ||||||
|  | mkdir "$(OutDir)web" | ||||||
|  | xcopy "$(SolutionDir)..\..\upnp\sample\web" "$(OutDir)web" /S /E /Y | ||||||
|  | </Command> | ||||||
|  |       <Message>Copy sample web folder and pthreadVC2.dll to output dir</Message> | ||||||
|  |     </PostBuildEvent> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Lib|x64'"> | ||||||
|  |     <Midl> | ||||||
|  |       <TargetEnvironment>X64</TargetEnvironment> | ||||||
|  |     </Midl> | ||||||
|  |     <ClCompile> | ||||||
|  |       <Optimization>MaxSpeed</Optimization> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <AdditionalIncludeDirectories>..\..\upnp\inc;..\..\upnp\sample\common;..\..\upnp\sample;..\..\ixml\inc;..\..\pthreads;..\..\pthreads\include;..\inc;..\..\threadutil\inc;..\..\upnp\sample\tvcombo;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>WIN32;NDEBUG;RELEASE;_WINDOWS;PTW32_STATIC_LIB;UPNP_STATIC_LIB;UPNP_USE_MSVCPP;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL;_SCL_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_AFX_SECURE_NO_WARNINGS;_AFX_SECURE_NO_DEPRECATE;_SECURE_ATL;_ATL_NO_COM_SUPPORT;_ATL_SECURE_NO_WARNINGS;_ATL_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <StringPooling>true</StringPooling> | ||||||
|  |       <RuntimeLibrary>MultiThreaded</RuntimeLibrary> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> | ||||||
|  |       <ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||||||
|  |       <CompileAs>CompileAsC</CompileAs> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <AdditionalDependencies>pthreadVC2.lib;ixml.lib;threadutil.lib;libupnp.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|  |       <AdditionalLibraryDirectories>..\..\pthreads\;..\..\pthreads\lib;$(OutDir)..\lib;$(OutDir)..\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |       <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <OptimizeReferences>true</OptimizeReferences> | ||||||
|  |       <EnableCOMDATFolding>true</EnableCOMDATFolding> | ||||||
|  |       <TargetMachine>MachineX64</TargetMachine> | ||||||
|  |     </Link> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClCompile Include="..\..\upnp\sample\common\sample_util.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\sample\common\tv_device.c" /> | ||||||
|  |     <ClCompile Include="..\..\upnp\sample\linux\tv_device_main.c" /> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClInclude Include="..\..\upnp\sample\common\sample_util.h" /> | ||||||
|  |     <ClInclude Include="..\..\upnp\sample\common\tv_device.h" /> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ProjectReference Include="libupnp.vcxproj"> | ||||||
|  |       <Project>{6227f51a-1498-4c4a-b213-f6fded605125}</Project> | ||||||
|  |       <ReferenceOutputAssembly>false</ReferenceOutputAssembly> | ||||||
|  |     </ProjectReference> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <None Include="..\..\upnp\sample\web\tvcombodesc.xml" /> | ||||||
|  |     <None Include="..\..\upnp\sample\web\tvcontrolSCPD.xml" /> | ||||||
|  |     <None Include="..\..\upnp\sample\web\tvdevicedesc.xml" /> | ||||||
|  |     <None Include="..\..\upnp\sample\web\tvdevicepres.html" /> | ||||||
|  |     <None Include="..\..\upnp\sample\web\tvpictureSCPD.xml" /> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | ||||||
|  |   <ImportGroup Label="ExtensionTargets"> | ||||||
|  |   </ImportGroup> | ||||||
|  | </Project> | ||||||
							
								
								
									
										52
									
								
								build/vc10/tvdevice.vcxproj.filters
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								build/vc10/tvdevice.vcxproj.filters
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,52 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <Filter Include="Source Files"> | ||||||
|  |       <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> | ||||||
|  |       <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> | ||||||
|  |     </Filter> | ||||||
|  |     <Filter Include="Header Files"> | ||||||
|  |       <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> | ||||||
|  |       <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> | ||||||
|  |     </Filter> | ||||||
|  |     <Filter Include="SampleDeviceXMLs"> | ||||||
|  |       <UniqueIdentifier>{3953a023-20c4-4d35-860e-ec802019076c}</UniqueIdentifier> | ||||||
|  |     </Filter> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClCompile Include="..\..\upnp\sample\common\sample_util.c"> | ||||||
|  |       <Filter>Source Files</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\sample\common\tv_device.c"> | ||||||
|  |       <Filter>Source Files</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\upnp\sample\linux\tv_device_main.c"> | ||||||
|  |       <Filter>Source Files</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClInclude Include="..\..\upnp\sample\common\sample_util.h"> | ||||||
|  |       <Filter>Header Files</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\upnp\sample\common\tv_device.h"> | ||||||
|  |       <Filter>Header Files</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <None Include="..\..\upnp\sample\web\tvcombodesc.xml"> | ||||||
|  |       <Filter>SampleDeviceXMLs</Filter> | ||||||
|  |     </None> | ||||||
|  |     <None Include="..\..\upnp\sample\web\tvcontrolSCPD.xml"> | ||||||
|  |       <Filter>SampleDeviceXMLs</Filter> | ||||||
|  |     </None> | ||||||
|  |     <None Include="..\..\upnp\sample\web\tvdevicedesc.xml"> | ||||||
|  |       <Filter>SampleDeviceXMLs</Filter> | ||||||
|  |     </None> | ||||||
|  |     <None Include="..\..\upnp\sample\web\tvdevicepres.html"> | ||||||
|  |       <Filter>SampleDeviceXMLs</Filter> | ||||||
|  |     </None> | ||||||
|  |     <None Include="..\..\upnp\sample\web\tvpictureSCPD.xml"> | ||||||
|  |       <Filter>SampleDeviceXMLs</Filter> | ||||||
|  |     </None> | ||||||
|  |   </ItemGroup> | ||||||
|  | </Project> | ||||||
| @@ -21,7 +21,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Debug|Win32" | 			Name="Debug|Win32" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="4" | 			ConfigurationType="4" | ||||||
| 			CharacterSet="0" | 			CharacterSet="0" | ||||||
| 			EnableManagedIncrementalBuild="1" | 			EnableManagedIncrementalBuild="1" | ||||||
| @@ -88,7 +88,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Debug|x64" | 			Name="Debug|x64" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="4" | 			ConfigurationType="4" | ||||||
| 			CharacterSet="0" | 			CharacterSet="0" | ||||||
| 			EnableManagedIncrementalBuild="1" | 			EnableManagedIncrementalBuild="1" | ||||||
| @@ -156,7 +156,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Release|Win32" | 			Name="Release|Win32" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="4" | 			ConfigurationType="4" | ||||||
| 			CharacterSet="0" | 			CharacterSet="0" | ||||||
| 			WholeProgramOptimization="1" | 			WholeProgramOptimization="1" | ||||||
| @@ -226,7 +226,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Release|x64" | 			Name="Release|x64" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="4" | 			ConfigurationType="4" | ||||||
| 			CharacterSet="0" | 			CharacterSet="0" | ||||||
| 			WholeProgramOptimization="1" | 			WholeProgramOptimization="1" | ||||||
| @@ -297,7 +297,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Debug Lib|Win32" | 			Name="Debug Lib|Win32" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="4" | 			ConfigurationType="4" | ||||||
| 			CharacterSet="0" | 			CharacterSet="0" | ||||||
| 			EnableManagedIncrementalBuild="1" | 			EnableManagedIncrementalBuild="1" | ||||||
| @@ -364,7 +364,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Debug Lib|x64" | 			Name="Debug Lib|x64" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="4" | 			ConfigurationType="4" | ||||||
| 			CharacterSet="0" | 			CharacterSet="0" | ||||||
| 			EnableManagedIncrementalBuild="1" | 			EnableManagedIncrementalBuild="1" | ||||||
| @@ -432,7 +432,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Release Lib|Win32" | 			Name="Release Lib|Win32" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="4" | 			ConfigurationType="4" | ||||||
| 			CharacterSet="0" | 			CharacterSet="0" | ||||||
| 			WholeProgramOptimization="1" | 			WholeProgramOptimization="1" | ||||||
| @@ -502,7 +502,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Release Lib|x64" | 			Name="Release Lib|x64" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="4" | 			ConfigurationType="4" | ||||||
| 			CharacterSet="0" | 			CharacterSet="0" | ||||||
| 			WholeProgramOptimization="1" | 			WholeProgramOptimization="1" | ||||||
|   | |||||||
| @@ -21,7 +21,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Release|Win32" | 			Name="Release|Win32" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="2" | 			ConfigurationType="2" | ||||||
| 			UseOfMFC="0" | 			UseOfMFC="0" | ||||||
| 			ATLMinimizesCRunTimeLibraryUsage="false" | 			ATLMinimizesCRunTimeLibraryUsage="false" | ||||||
| @@ -126,7 +126,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Release|x64" | 			Name="Release|x64" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="2" | 			ConfigurationType="2" | ||||||
| 			UseOfMFC="0" | 			UseOfMFC="0" | ||||||
| 			ATLMinimizesCRunTimeLibraryUsage="false" | 			ATLMinimizesCRunTimeLibraryUsage="false" | ||||||
| @@ -231,7 +231,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Debug|Win32" | 			Name="Debug|Win32" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="2" | 			ConfigurationType="2" | ||||||
| 			UseOfMFC="0" | 			UseOfMFC="0" | ||||||
| 			ATLMinimizesCRunTimeLibraryUsage="false" | 			ATLMinimizesCRunTimeLibraryUsage="false" | ||||||
| @@ -329,7 +329,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Debug|x64" | 			Name="Debug|x64" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="2" | 			ConfigurationType="2" | ||||||
| 			UseOfMFC="0" | 			UseOfMFC="0" | ||||||
| 			ATLMinimizesCRunTimeLibraryUsage="false" | 			ATLMinimizesCRunTimeLibraryUsage="false" | ||||||
| @@ -427,7 +427,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Debug Lib|Win32" | 			Name="Debug Lib|Win32" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="4" | 			ConfigurationType="4" | ||||||
| 			UseOfMFC="0" | 			UseOfMFC="0" | ||||||
| 			ATLMinimizesCRunTimeLibraryUsage="false" | 			ATLMinimizesCRunTimeLibraryUsage="false" | ||||||
| @@ -508,7 +508,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Debug Lib|x64" | 			Name="Debug Lib|x64" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="4" | 			ConfigurationType="4" | ||||||
| 			UseOfMFC="0" | 			UseOfMFC="0" | ||||||
| 			ATLMinimizesCRunTimeLibraryUsage="false" | 			ATLMinimizesCRunTimeLibraryUsage="false" | ||||||
| @@ -589,7 +589,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Release Lib|Win32" | 			Name="Release Lib|Win32" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="4" | 			ConfigurationType="4" | ||||||
| 			UseOfMFC="0" | 			UseOfMFC="0" | ||||||
| 			ATLMinimizesCRunTimeLibraryUsage="false" | 			ATLMinimizesCRunTimeLibraryUsage="false" | ||||||
| @@ -674,7 +674,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Release Lib|x64" | 			Name="Release Lib|x64" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="4" | 			ConfigurationType="4" | ||||||
| 			UseOfMFC="0" | 			UseOfMFC="0" | ||||||
| 			ATLMinimizesCRunTimeLibraryUsage="false" | 			ATLMinimizesCRunTimeLibraryUsage="false" | ||||||
|   | |||||||
| @@ -21,7 +21,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Debug|Win32" | 			Name="Debug|Win32" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="4" | 			ConfigurationType="4" | ||||||
| 			CharacterSet="0" | 			CharacterSet="0" | ||||||
| 			> | 			> | ||||||
| @@ -86,7 +86,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Debug|x64" | 			Name="Debug|x64" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="4" | 			ConfigurationType="4" | ||||||
| 			CharacterSet="0" | 			CharacterSet="0" | ||||||
| 			> | 			> | ||||||
| @@ -152,7 +152,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Release|Win32" | 			Name="Release|Win32" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="4" | 			ConfigurationType="4" | ||||||
| 			CharacterSet="0" | 			CharacterSet="0" | ||||||
| 			WholeProgramOptimization="1" | 			WholeProgramOptimization="1" | ||||||
| @@ -220,7 +220,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Release|x64" | 			Name="Release|x64" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="4" | 			ConfigurationType="4" | ||||||
| 			CharacterSet="0" | 			CharacterSet="0" | ||||||
| 			WholeProgramOptimization="1" | 			WholeProgramOptimization="1" | ||||||
| @@ -289,7 +289,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Debug Lib|Win32" | 			Name="Debug Lib|Win32" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="4" | 			ConfigurationType="4" | ||||||
| 			CharacterSet="0" | 			CharacterSet="0" | ||||||
| 			> | 			> | ||||||
| @@ -354,7 +354,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Debug Lib|x64" | 			Name="Debug Lib|x64" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="4" | 			ConfigurationType="4" | ||||||
| 			CharacterSet="0" | 			CharacterSet="0" | ||||||
| 			> | 			> | ||||||
| @@ -420,7 +420,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Release Lib|Win32" | 			Name="Release Lib|Win32" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="4" | 			ConfigurationType="4" | ||||||
| 			CharacterSet="0" | 			CharacterSet="0" | ||||||
| 			WholeProgramOptimization="1" | 			WholeProgramOptimization="1" | ||||||
| @@ -488,7 +488,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Release Lib|x64" | 			Name="Release Lib|x64" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\lib\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="4" | 			ConfigurationType="4" | ||||||
| 			CharacterSet="0" | 			CharacterSet="0" | ||||||
| 			WholeProgramOptimization="1" | 			WholeProgramOptimization="1" | ||||||
|   | |||||||
| @@ -21,7 +21,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Debug|Win32" | 			Name="Debug|Win32" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="1" | 			ConfigurationType="1" | ||||||
| 			CharacterSet="0" | 			CharacterSet="0" | ||||||
| 			> | 			> | ||||||
| @@ -98,7 +98,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Debug|x64" | 			Name="Debug|x64" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="1" | 			ConfigurationType="1" | ||||||
| 			CharacterSet="0" | 			CharacterSet="0" | ||||||
| 			> | 			> | ||||||
| @@ -176,7 +176,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Release|Win32" | 			Name="Release|Win32" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="1" | 			ConfigurationType="1" | ||||||
| 			CharacterSet="0" | 			CharacterSet="0" | ||||||
| 			WholeProgramOptimization="1" | 			WholeProgramOptimization="1" | ||||||
| @@ -257,7 +257,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Release|x64" | 			Name="Release|x64" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="1" | 			ConfigurationType="1" | ||||||
| 			CharacterSet="0" | 			CharacterSet="0" | ||||||
| 			WholeProgramOptimization="1" | 			WholeProgramOptimization="1" | ||||||
| @@ -339,7 +339,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Debug Lib|Win32" | 			Name="Debug Lib|Win32" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="1" | 			ConfigurationType="1" | ||||||
| 			CharacterSet="0" | 			CharacterSet="0" | ||||||
| 			> | 			> | ||||||
| @@ -416,7 +416,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Debug Lib|x64" | 			Name="Debug Lib|x64" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="1" | 			ConfigurationType="1" | ||||||
| 			CharacterSet="0" | 			CharacterSet="0" | ||||||
| 			> | 			> | ||||||
| @@ -494,7 +494,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Release Lib|Win32" | 			Name="Release Lib|Win32" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="1" | 			ConfigurationType="1" | ||||||
| 			CharacterSet="0" | 			CharacterSet="0" | ||||||
| 			WholeProgramOptimization="1" | 			WholeProgramOptimization="1" | ||||||
| @@ -575,7 +575,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Release Lib|x64" | 			Name="Release Lib|x64" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="1" | 			ConfigurationType="1" | ||||||
| 			CharacterSet="0" | 			CharacterSet="0" | ||||||
| 			WholeProgramOptimization="1" | 			WholeProgramOptimization="1" | ||||||
|   | |||||||
| @@ -21,7 +21,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Debug|Win32" | 			Name="Debug|Win32" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="1" | 			ConfigurationType="1" | ||||||
| 			CharacterSet="2" | 			CharacterSet="2" | ||||||
| 			> | 			> | ||||||
| @@ -98,7 +98,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Debug|x64" | 			Name="Debug|x64" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="1" | 			ConfigurationType="1" | ||||||
| 			CharacterSet="2" | 			CharacterSet="2" | ||||||
| 			> | 			> | ||||||
| @@ -176,7 +176,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Release|Win32" | 			Name="Release|Win32" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="1" | 			ConfigurationType="1" | ||||||
| 			CharacterSet="2" | 			CharacterSet="2" | ||||||
| 			WholeProgramOptimization="1" | 			WholeProgramOptimization="1" | ||||||
| @@ -257,7 +257,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Release|x64" | 			Name="Release|x64" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="1" | 			ConfigurationType="1" | ||||||
| 			CharacterSet="2" | 			CharacterSet="2" | ||||||
| 			WholeProgramOptimization="1" | 			WholeProgramOptimization="1" | ||||||
| @@ -339,7 +339,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Debug Lib|Win32" | 			Name="Debug Lib|Win32" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="1" | 			ConfigurationType="1" | ||||||
| 			CharacterSet="2" | 			CharacterSet="2" | ||||||
| 			> | 			> | ||||||
| @@ -416,7 +416,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Debug Lib|x64" | 			Name="Debug Lib|x64" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="1" | 			ConfigurationType="1" | ||||||
| 			CharacterSet="2" | 			CharacterSet="2" | ||||||
| 			> | 			> | ||||||
| @@ -494,7 +494,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Release Lib|Win32" | 			Name="Release Lib|Win32" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="1" | 			ConfigurationType="1" | ||||||
| 			CharacterSet="2" | 			CharacterSet="2" | ||||||
| 			WholeProgramOptimization="1" | 			WholeProgramOptimization="1" | ||||||
| @@ -575,7 +575,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Release Lib|x64" | 			Name="Release Lib|x64" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="1" | 			ConfigurationType="1" | ||||||
| 			CharacterSet="2" | 			CharacterSet="2" | ||||||
| 			WholeProgramOptimization="1" | 			WholeProgramOptimization="1" | ||||||
|   | |||||||
| @@ -21,7 +21,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Debug|Win32" | 			Name="Debug|Win32" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="1" | 			ConfigurationType="1" | ||||||
| 			CharacterSet="2" | 			CharacterSet="2" | ||||||
| 			> | 			> | ||||||
| @@ -98,7 +98,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Debug|x64" | 			Name="Debug|x64" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="1" | 			ConfigurationType="1" | ||||||
| 			CharacterSet="2" | 			CharacterSet="2" | ||||||
| 			> | 			> | ||||||
| @@ -176,7 +176,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Release|Win32" | 			Name="Release|Win32" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="1" | 			ConfigurationType="1" | ||||||
| 			CharacterSet="2" | 			CharacterSet="2" | ||||||
| 			WholeProgramOptimization="1" | 			WholeProgramOptimization="1" | ||||||
| @@ -257,7 +257,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Release|x64" | 			Name="Release|x64" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="1" | 			ConfigurationType="1" | ||||||
| 			CharacterSet="2" | 			CharacterSet="2" | ||||||
| 			WholeProgramOptimization="1" | 			WholeProgramOptimization="1" | ||||||
| @@ -339,7 +339,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Debug Lib|Win32" | 			Name="Debug Lib|Win32" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="1" | 			ConfigurationType="1" | ||||||
| 			CharacterSet="2" | 			CharacterSet="2" | ||||||
| 			> | 			> | ||||||
| @@ -416,7 +416,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Debug Lib|x64" | 			Name="Debug Lib|x64" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="1" | 			ConfigurationType="1" | ||||||
| 			CharacterSet="2" | 			CharacterSet="2" | ||||||
| 			> | 			> | ||||||
| @@ -494,7 +494,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Release Lib|Win32" | 			Name="Release Lib|Win32" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="1" | 			ConfigurationType="1" | ||||||
| 			CharacterSet="2" | 			CharacterSet="2" | ||||||
| 			WholeProgramOptimization="1" | 			WholeProgramOptimization="1" | ||||||
| @@ -575,7 +575,7 @@ | |||||||
| 		<Configuration | 		<Configuration | ||||||
| 			Name="Release Lib|x64" | 			Name="Release Lib|x64" | ||||||
| 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | 			OutputDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\bin\" | ||||||
| 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\" | 			IntermediateDirectory="$(SolutionDir)\out.vc9.$(PlatformName)\$(ConfigurationName)\tmp\$(ProjectName)\" | ||||||
| 			ConfigurationType="1" | 			ConfigurationType="1" | ||||||
| 			CharacterSet="2" | 			CharacterSet="2" | ||||||
| 			WholeProgramOptimization="1" | 			WholeProgramOptimization="1" | ||||||
|   | |||||||
							
								
								
									
										66
									
								
								configure.ac
									
									
									
									
									
								
							
							
						
						
									
										66
									
								
								configure.ac
									
									
									
									
									
								
							| @@ -9,7 +9,7 @@ | |||||||
|  |  | ||||||
| AC_PREREQ(2.60) | AC_PREREQ(2.60) | ||||||
|  |  | ||||||
| AC_INIT([libupnp], [1.6.16], [mroberto@users.sourceforge.net]) | AC_INIT([libupnp], [1.6.20], [mroberto@users.sourceforge.net]) | ||||||
| dnl ############################################################################ | dnl ############################################################################ | ||||||
| dnl # *Independently* of the above libupnp package version, the libtool version | dnl # *Independently* of the above libupnp package version, the libtool version | ||||||
| dnl # of the 3 libraries need to be updated whenever there is a change released: | dnl # of the 3 libraries need to be updated whenever there is a change released: | ||||||
| @@ -300,9 +300,60 @@ dnl #AC_SUBST([LT_VERSION_THREADUTIL], [6:1:0]) | |||||||
| dnl #AC_SUBST([LT_VERSION_UPNP],       [9:0:3]) | dnl #AC_SUBST([LT_VERSION_UPNP],       [9:0:3]) | ||||||
| dnl # | dnl # | ||||||
| dnl ############################################################################ | dnl ############################################################################ | ||||||
| AC_SUBST([LT_VERSION_IXML],       [2:7:0]) | dnl # Release 1.6.17: | ||||||
| AC_SUBST([LT_VERSION_THREADUTIL], [6:1:0]) | dnl # "current:revision:age" | ||||||
| AC_SUBST([LT_VERSION_UPNP],       [9:0:3]) | dnl # | ||||||
|  | dnl # - Code has changed in threadutil | ||||||
|  | dnl #   revision: 1 -> 2 | ||||||
|  | dnl # - Code has changed in upnp | ||||||
|  | dnl #   revision: 0 -> 1 | ||||||
|  | dnl # | ||||||
|  | dnl #AC_SUBST([LT_VERSION_IXML],       [2:7:0]) | ||||||
|  | dnl #AC_SUBST([LT_VERSION_THREADUTIL], [6:2:0]) | ||||||
|  | dnl #AC_SUBST([LT_VERSION_UPNP],       [9:1:3]) | ||||||
|  | dnl # | ||||||
|  | dnl ############################################################################ | ||||||
|  | dnl # Release 1.6.18: | ||||||
|  | dnl # "current:revision:age" | ||||||
|  | dnl # | ||||||
|  | dnl # - Code has changed in ixml | ||||||
|  | dnl #   revision: 7 -> 8 | ||||||
|  | dnl # - Code has changed in threadutil | ||||||
|  | dnl #   revision: 2 -> 3 | ||||||
|  | dnl # - Code has changed in upnp | ||||||
|  | dnl #   revision: 1 -> 2 | ||||||
|  | dnl # | ||||||
|  | dnl #AC_SUBST([LT_VERSION_IXML],       [2:8:0]) | ||||||
|  | dnl #AC_SUBST([LT_VERSION_THREADUTIL], [6:3:0]) | ||||||
|  | dnl #AC_SUBST([LT_VERSION_UPNP],       [9:2:3]) | ||||||
|  | dnl # | ||||||
|  | dnl ############################################################################ | ||||||
|  | dnl # Release 1.6.19: | ||||||
|  | dnl # "current:revision:age" | ||||||
|  | dnl # | ||||||
|  | dnl # - Code has changed in threadutil | ||||||
|  | dnl #   revision: 3 -> 4 | ||||||
|  | dnl # - Code has changed in upnp | ||||||
|  | dnl #   revision: 2 -> 3 | ||||||
|  | dnl # | ||||||
|  | dnl #AC_SUBST([LT_VERSION_IXML],       [2:8:0]) | ||||||
|  | dnl #AC_SUBST([LT_VERSION_THREADUTIL], [6:4:0]) | ||||||
|  | dnl #AC_SUBST([LT_VERSION_UPNP],       [9:3:3]) | ||||||
|  | dnl # | ||||||
|  | dnl ############################################################################ | ||||||
|  | dnl # Release 1.6.20: | ||||||
|  | dnl # "current:revision:age" | ||||||
|  | dnl # | ||||||
|  | dnl # -  | ||||||
|  | dnl # | ||||||
|  | dnl #AC_SUBST([LT_VERSION_IXML],       [::]) | ||||||
|  | dnl #AC_SUBST([LT_VERSION_THREADUTIL], [::]) | ||||||
|  | dnl #AC_SUBST([LT_VERSION_UPNP],       [::]) | ||||||
|  | dnl # | ||||||
|  | dnl ############################################################################ | ||||||
|  | AC_SUBST([LT_VERSION_IXML],       [2:8:0]) | ||||||
|  | AC_SUBST([LT_VERSION_THREADUTIL], [6:4:0]) | ||||||
|  | AC_SUBST([LT_VERSION_UPNP],       [9:3:3]) | ||||||
| dnl ############################################################################ | dnl ############################################################################ | ||||||
| dnl # Repeating the algorithm to place it closer to the modificatin place: | dnl # Repeating the algorithm to place it closer to the modificatin place: | ||||||
| dnl # 	- library code modified:		revision++ | dnl # 	- library code modified:		revision++ | ||||||
| @@ -424,6 +475,11 @@ if test "x$enable_ipv6" = xyes ; then | |||||||
|         AC_DEFINE(UPNP_ENABLE_IPV6, 1, [see upnpconfig.h]) |         AC_DEFINE(UPNP_ENABLE_IPV6, 1, [see upnpconfig.h]) | ||||||
| fi | fi | ||||||
|  |  | ||||||
|  | RT_BOOL_ARG_ENABLE([unspecified_server], [no], [unspecified SERVER header]) | ||||||
|  | if test "x$enable_unspecified_server" = xyes ; then | ||||||
|  |         AC_DEFINE(UPNP_ENABLE_UNSPECIFIED_SERVER, 1, [see upnpconfig.h]) | ||||||
|  | fi | ||||||
|  |  | ||||||
| RT_BOOL_ARG_ENABLE([notification_reordering], [yes], [GENA notification reordering in gena_device.c]) | RT_BOOL_ARG_ENABLE([notification_reordering], [yes], [GENA notification reordering in gena_device.c]) | ||||||
| if test "x$enable_notification_reordering" = xyes ; then | if test "x$enable_notification_reordering" = xyes ; then | ||||||
|         AC_DEFINE(UPNP_ENABLE_NOTIFICATION_REORDERING, 1, [see upnpconfig.h]) |         AC_DEFINE(UPNP_ENABLE_NOTIFICATION_REORDERING, 1, [see upnpconfig.h]) | ||||||
| @@ -475,6 +531,7 @@ AC_MSG_RESULT($docdir) | |||||||
| # | # | ||||||
| AC_PROG_CC | AC_PROG_CC | ||||||
| AM_PROG_CC_C_O | AM_PROG_CC_C_O | ||||||
|  | m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) | ||||||
| AC_PROG_LIBTOOL | AC_PROG_LIBTOOL | ||||||
| AC_PROG_INSTALL | AC_PROG_INSTALL | ||||||
| AC_PROG_MAKE_SET | AC_PROG_MAKE_SET | ||||||
| @@ -668,6 +725,7 @@ AC_OUTPUT | |||||||
| # Files copied for windows compilation. | # Files copied for windows compilation. | ||||||
| # | # | ||||||
| echo "configure: copying \"autoconfig.h\"          to \"build/inc/autoconfig.h\"" | echo "configure: copying \"autoconfig.h\"          to \"build/inc/autoconfig.h\"" | ||||||
|  | test -d build/inc || mkdir -p build/inc | ||||||
| cp autoconfig.h build/inc/autoconfig.h | cp autoconfig.h build/inc/autoconfig.h | ||||||
| echo "configure: copying \"upnp/inc/upnpconfig.h\" to \"build/inc/upnpconfig.h\"" | echo "configure: copying \"upnp/inc/upnpconfig.h\" to \"build/inc/upnpconfig.h\"" | ||||||
| cp upnp/inc/upnpconfig.h build/inc/upnpconfig.h | cp upnp/inc/upnpconfig.h build/inc/upnpconfig.h | ||||||
|   | |||||||
| @@ -7,7 +7,8 @@ | |||||||
|  |  | ||||||
| SUBDIRS 		= doc | SUBDIRS 		= doc | ||||||
|  |  | ||||||
| AM_CPPFLAGS		= -I$(srcdir)/inc -I$(srcdir)/src/inc | AM_CPPFLAGS		= -I$(srcdir)/inc -I$(srcdir)/src/inc \ | ||||||
|  |                           -I$(top_srcdir)/upnp/inc | ||||||
| AM_CFLAGS		=  | AM_CFLAGS		=  | ||||||
|  |  | ||||||
| LDADD			= libixml.la | LDADD			= libixml.la | ||||||
|   | |||||||
| @@ -455,11 +455,14 @@ int ixmlElement_setAttributeNS( | |||||||
| 			free(attrNode->prefix); | 			free(attrNode->prefix); | ||||||
| 		} | 		} | ||||||
| 		/* replace it with the new prefix */ | 		/* replace it with the new prefix */ | ||||||
| 		attrNode->prefix = strdup( newAttrNode.prefix ); | 		if (newAttrNode.prefix != NULL) { | ||||||
| 		if (attrNode->prefix == NULL) { | 			attrNode->prefix = strdup( newAttrNode.prefix ); | ||||||
| 			Parser_freeNodeContent(&newAttrNode); | 			if (attrNode->prefix == NULL) { | ||||||
| 			return IXML_INSUFFICIENT_MEMORY; | 				Parser_freeNodeContent(&newAttrNode); | ||||||
| 		} | 				return IXML_INSUFFICIENT_MEMORY; | ||||||
|  | 			} | ||||||
|  | 		} else | ||||||
|  | 			attrNode->prefix = newAttrNode.prefix; | ||||||
|  |  | ||||||
| 		if (attrNode->nodeValue != NULL) { | 		if (attrNode->nodeValue != NULL) { | ||||||
| 			free(attrNode->nodeValue); | 			free(attrNode->nodeValue); | ||||||
|   | |||||||
| @@ -1339,7 +1339,10 @@ int ixmlNode_setNodeProperties( | |||||||
| { | { | ||||||
| 	int rc; | 	int rc; | ||||||
|  |  | ||||||
| 	assert(destNode != NULL || src != NULL); | 	assert(destNode != NULL && src != NULL); | ||||||
|  | 	if(destNode == NULL || src == NULL) { | ||||||
|  | 		return IXML_INVALID_PARAMETER; | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	rc = ixmlNode_setNodeValue(destNode, src->nodeValue); | 	rc = ixmlNode_setNodeValue(destNode, src->nodeValue); | ||||||
| 	if(rc != IXML_SUCCESS) { | 	if(rc != IXML_SUCCESS) { | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| Version: 1.6.16 | Version: 1.6.20 | ||||||
| Summary: Universal Plug and Play (UPnP) SDK | Summary: Universal Plug and Play (UPnP) SDK | ||||||
| Name: libupnp | Name: libupnp | ||||||
| Release: 1%{?dist} | Release: 1%{?dist} | ||||||
|   | |||||||
| @@ -4,7 +4,8 @@ | |||||||
| # (C) Copyright 2005 Remi Turboult <r3mi@users.sourceforge.net> | # (C) Copyright 2005 Remi Turboult <r3mi@users.sourceforge.net> | ||||||
| # | # | ||||||
|  |  | ||||||
| AM_CPPFLAGS		= -I$(srcdir)/inc -I$(srcdir)/src/inc | AM_CPPFLAGS		= -I$(srcdir)/inc -I$(srcdir)/src/inc \ | ||||||
|  |                           -I$(top_srcdir)/upnp/inc | ||||||
|  |  | ||||||
| if ENABLE_DEBUG | if ENABLE_DEBUG | ||||||
|     AM_CPPFLAGS		+= -DDEBUG -DSTATS |     AM_CPPFLAGS		+= -DDEBUG -DSTATS | ||||||
|   | |||||||
| @@ -5,6 +5,7 @@ | |||||||
|  * |  * | ||||||
|  * Copyright (c) 2000-2003 Intel Corporation  |  * Copyright (c) 2000-2003 Intel Corporation  | ||||||
|  * All rights reserved.  |  * All rights reserved.  | ||||||
|  |  * Copyright (c) 2012 France Telecom All rights reserved.  | ||||||
|  * |  * | ||||||
|  * Redistribution and use in source and binary forms, with or without  |  * Redistribution and use in source and binary forms, with or without  | ||||||
|  * modification, are permitted provided that the following conditions are met:  |  * modification, are permitted provided that the following conditions are met:  | ||||||
| @@ -49,7 +50,7 @@ extern "C" { | |||||||
|  |  | ||||||
| #include <pthread.h> | #include <pthread.h> | ||||||
|  |  | ||||||
| #if defined(BSD) | #if defined(BSD) && !defined(__GNU__) | ||||||
| 	#define PTHREAD_MUTEX_RECURSIVE_NP PTHREAD_MUTEX_RECURSIVE | 	#define PTHREAD_MUTEX_RECURSIVE_NP PTHREAD_MUTEX_RECURSIVE | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| @@ -76,7 +77,8 @@ extern "C" { | |||||||
|  |  | ||||||
|  |  | ||||||
| #define ITHREAD_STACK_MIN PTHREAD_STACK_MIN | #define ITHREAD_STACK_MIN PTHREAD_STACK_MIN | ||||||
|  | #define ITHREAD_CREATE_DETACHED PTHREAD_CREATE_DETACHED | ||||||
|  | #define ITHREAD_CREATE_JOINABLE PTHREAD_CREATE_JOINABLE | ||||||
|  |  | ||||||
| /*************************************************************************** | /*************************************************************************** | ||||||
|  * Name: ithread_t |  * Name: ithread_t | ||||||
| @@ -198,10 +200,6 @@ typedef pthread_rwlockattr_t ithread_rwlockattr_t; | |||||||
| static UPNP_INLINE int ithread_initialize_library(void) { | static UPNP_INLINE int ithread_initialize_library(void) { | ||||||
| 	int ret = 0; | 	int ret = 0; | ||||||
|  |  | ||||||
| #if defined(WIN32) && defined(PTW32_STATIC_LIB) |  | ||||||
| 	ret = !pthread_win32_process_attach_np(); |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| 	return ret; | 	return ret; | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -220,10 +218,6 @@ static UPNP_INLINE int ithread_initialize_library(void) { | |||||||
| static UPNP_INLINE int ithread_cleanup_library(void) { | static UPNP_INLINE int ithread_cleanup_library(void) { | ||||||
| 	int ret = 0; | 	int ret = 0; | ||||||
|  |  | ||||||
| #if defined(WIN32) && defined(PTW32_STATIC_LIB) |  | ||||||
| 	ret = !pthread_win32_process_detach_np(); |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| 	return ret; | 	return ret; | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -778,6 +772,22 @@ static UPNP_INLINE int ithread_cleanup_thread(void) { | |||||||
|    ***************************************************************************/ |    ***************************************************************************/ | ||||||
| #define ithread_attr_setstacksize pthread_attr_setstacksize | #define ithread_attr_setstacksize pthread_attr_setstacksize | ||||||
|  |  | ||||||
|  |   /**************************************************************************** | ||||||
|  |    * Function: ithread_attr_setdetachstate | ||||||
|  |    * | ||||||
|  |    *  Description: | ||||||
|  |    *      Sets detach state of a thread attribute object. | ||||||
|  |    *  Parameters: | ||||||
|  |    *      ithread_attr_t *attr (must be valid non NULL pointer to | ||||||
|  |    *      ithread_attr_t) | ||||||
|  |    *      int detachstate (value of detachstate must be ITHREAD_CREATE_DETACHED | ||||||
|  |    *      or ITHREAD_CREATE_JOINABLE) | ||||||
|  |    *  Returns: | ||||||
|  |    *      0 on success. Nonzero on failure. | ||||||
|  |    *      See man page for pthread_attr_setdetachstate | ||||||
|  |    ***************************************************************************/ | ||||||
|  | #define ithread_attr_setdetachstate pthread_attr_setdetachstate | ||||||
|  |  | ||||||
|   /**************************************************************************** |   /**************************************************************************** | ||||||
|    * Function: ithread_create |    * Function: ithread_create | ||||||
|    * |    * | ||||||
|   | |||||||
| @@ -647,10 +647,15 @@ static int CreateWorker( | |||||||
| 	} | 	} | ||||||
| 	ithread_attr_init(&attr); | 	ithread_attr_init(&attr); | ||||||
| 	ithread_attr_setstacksize(&attr, tp->attr.stackSize); | 	ithread_attr_setstacksize(&attr, tp->attr.stackSize); | ||||||
|  | 	ithread_attr_setdetachstate(&attr, ITHREAD_CREATE_DETACHED); | ||||||
| 	rc = ithread_create(&temp, &attr, WorkerThread, tp); | 	rc = ithread_create(&temp, &attr, WorkerThread, tp); | ||||||
| 	ithread_attr_destroy(&attr); | 	ithread_attr_destroy(&attr); | ||||||
| 	if (rc == 0) { | 	if (rc == 0) { | ||||||
| 		rc = ithread_detach(temp); | 		rc = ithread_detach(temp); | ||||||
|  | 		/* ithread_detach will return EINVAL if thread has been | ||||||
|  | 		 successfully detached by ithread_create */ | ||||||
|  | 		if (rc == EINVAL) | ||||||
|  | 			rc = 0; | ||||||
| 		tp->pendingWorkerThreadStart = 1; | 		tp->pendingWorkerThreadStart = 1; | ||||||
| 		/* wait until the new worker thread starts */ | 		/* wait until the new worker thread starts */ | ||||||
| 		while (tp->pendingWorkerThreadStart) { | 		while (tp->pendingWorkerThreadStart) { | ||||||
|   | |||||||
| @@ -96,10 +96,17 @@ static void *TimerThreadWorker( | |||||||
|         /* If time has elapsed, schedule job. */ |         /* If time has elapsed, schedule job. */ | ||||||
|         if (nextEvent && currentTime >= nextEventTime) { |         if (nextEvent && currentTime >= nextEventTime) { | ||||||
|             if( nextEvent->persistent ) { |             if( nextEvent->persistent ) { | ||||||
|                 ThreadPoolAddPersistent( timer->tp, &nextEvent->job, |                 if (ThreadPoolAddPersistent( timer->tp, &nextEvent->job, &tempId ) != 0) { | ||||||
|                                          &tempId ); | 			if (nextEvent->job.arg != NULL && nextEvent->job.free_func != NULL) { | ||||||
|  | 				nextEvent->job.free_func(nextEvent->job.arg); | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|             } else { |             } else { | ||||||
|                 ThreadPoolAdd( timer->tp, &nextEvent->job, &tempId ); |                 if (ThreadPoolAdd( timer->tp, &nextEvent->job, &tempId ) != 0) { | ||||||
|  | 			if (nextEvent->job.arg != NULL && nextEvent->job.free_func != NULL) { | ||||||
|  | 				nextEvent->job.free_func(nextEvent->job.arg); | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|             } |             } | ||||||
|             ListDelNode( &timer->eventQ, head, 0 ); |             ListDelNode( &timer->eventQ, head, 0 ); | ||||||
|             FreeTimerEvent( timer, nextEvent ); |             FreeTimerEvent( timer, nextEvent ); | ||||||
| @@ -107,7 +114,7 @@ static void *TimerThreadWorker( | |||||||
|         } |         } | ||||||
|         if (nextEvent) { |         if (nextEvent) { | ||||||
|             timeToWait.tv_nsec = 0; |             timeToWait.tv_nsec = 0; | ||||||
|             timeToWait.tv_sec = nextEvent->eventTime; |             timeToWait.tv_sec = (long)nextEvent->eventTime; | ||||||
|             ithread_cond_timedwait( &timer->condition, &timer->mutex, |             ithread_cond_timedwait( &timer->condition, &timer->mutex, | ||||||
|                                     &timeToWait ); |                                     &timeToWait ); | ||||||
|         } else { |         } else { | ||||||
|   | |||||||
| @@ -154,9 +154,10 @@ libupnp_la_SOURCES += \ | |||||||
|  |  | ||||||
|  |  | ||||||
| # check / distcheck tests | # check / distcheck tests | ||||||
| check_PROGRAMS = test_init | check_PROGRAMS = test_init test_url | ||||||
| TESTS = test_init | TESTS = test_init test_url | ||||||
| test_init_SOURCES = test/test_init.c | test_init_SOURCES = test/test_init.c | ||||||
|  | test_url_SOURCES = test/test_url.c | ||||||
|  |  | ||||||
|  |  | ||||||
| EXTRA_DIST = \ | EXTRA_DIST = \ | ||||||
|   | |||||||
| @@ -127,5 +127,9 @@ | |||||||
|  *  (i.e. configure --enable-ipv6) */ |  *  (i.e. configure --enable-ipv6) */ | ||||||
| #undef UPNP_ENABLE_IPV6 | #undef UPNP_ENABLE_IPV6 | ||||||
|  |  | ||||||
|  | /** Defined to 1 if the library has been compiled with unspecified SERVER | ||||||
|  |  * header (i.e. configure --enable-unspecified_server) */ | ||||||
|  | #undef UPNP_ENABLE_UNSPECIFIED_SERVER | ||||||
|  |  | ||||||
| #endif /* UPNP_CONFIG_H */ | #endif /* UPNP_CONFIG_H */ | ||||||
|  |  | ||||||
|   | |||||||
| @@ -65,9 +65,8 @@ tv_combo_SOURCES = \ | |||||||
| if WITH_DOCUMENTATION | if WITH_DOCUMENTATION | ||||||
| examplesdir = $(docdir)/examples | examplesdir = $(docdir)/examples | ||||||
| examples_DATA = \ | examples_DATA = \ | ||||||
| 		$(sort \ | 	$(tv_ctrlpt_SOURCES) \ | ||||||
| 			$(tv_ctrlpt_SOURCES) \ | 	$(tv_device_SOURCES) | ||||||
| 			$(tv_device_SOURCES)) |  | ||||||
| endif | endif | ||||||
|  |  | ||||||
| EXTRA_DIST = \ | EXTRA_DIST = \ | ||||||
|   | |||||||
| @@ -741,6 +741,10 @@ void TvCtrlPointAddDevice( | |||||||
| 			deviceNode->device.AdvrTimeOut = expires; | 			deviceNode->device.AdvrTimeOut = expires; | ||||||
| 			for (service = 0; service < TV_SERVICE_SERVCOUNT; | 			for (service = 0; service < TV_SERVICE_SERVCOUNT; | ||||||
| 			     service++) { | 			     service++) { | ||||||
|  | 				if (serviceId[service] == NULL) { | ||||||
|  | 					/* not found */ | ||||||
|  | 					continue; | ||||||
|  | 				} | ||||||
| 				strcpy(deviceNode->device.TvService[service]. | 				strcpy(deviceNode->device.TvService[service]. | ||||||
| 				       ServiceId, serviceId[service]); | 				       ServiceId, serviceId[service]); | ||||||
| 				strcpy(deviceNode->device.TvService[service]. | 				strcpy(deviceNode->device.TvService[service]. | ||||||
|   | |||||||
| @@ -55,6 +55,9 @@ int main(int argc, char *argv[]) | |||||||
| 	} | 	} | ||||||
| 	/* start a command loop thread */ | 	/* start a command loop thread */ | ||||||
| 	code = ithread_create(&cmdloop_thread, NULL, TvCtrlPointCommandLoop, NULL); | 	code = ithread_create(&cmdloop_thread, NULL, TvCtrlPointCommandLoop, NULL); | ||||||
|  | 	if (code !=  0) { | ||||||
|  | 		return UPNP_E_INTERNAL_ERROR; | ||||||
|  | 	} | ||||||
| #ifdef WIN32 | #ifdef WIN32 | ||||||
| 	ithread_join(cmdloop_thread, NULL); | 	ithread_join(cmdloop_thread, NULL); | ||||||
| #else | #else | ||||||
|   | |||||||
| @@ -54,6 +54,9 @@ int main(int argc, char **argv) | |||||||
| 	} | 	} | ||||||
| 	/* start a command loop thread */ | 	/* start a command loop thread */ | ||||||
| 	code = ithread_create(&cmdloop_thread, NULL, TvCtrlPointCommandLoop, NULL); | 	code = ithread_create(&cmdloop_thread, NULL, TvCtrlPointCommandLoop, NULL); | ||||||
|  | 	if (code !=  0) { | ||||||
|  | 		return UPNP_E_INTERNAL_ERROR; | ||||||
|  | 	} | ||||||
| #ifdef WIN32 | #ifdef WIN32 | ||||||
| 	ithread_join(cmdloop_thread, NULL); | 	ithread_join(cmdloop_thread, NULL); | ||||||
| #else | #else | ||||||
|   | |||||||
| @@ -53,6 +53,9 @@ int main(int argc, char *argv[]) | |||||||
|  |  | ||||||
| 	/* start a command loop thread */ | 	/* start a command loop thread */ | ||||||
| 	code = ithread_create(&cmdloop_thread, NULL, TvDeviceCommandLoop, NULL); | 	code = ithread_create(&cmdloop_thread, NULL, TvDeviceCommandLoop, NULL); | ||||||
|  | 	if (code !=  0) { | ||||||
|  | 		return UPNP_E_INTERNAL_ERROR; | ||||||
|  | 	} | ||||||
| #ifdef WIN32 | #ifdef WIN32 | ||||||
| 	ithread_join(cmdloop_thread, NULL); | 	ithread_join(cmdloop_thread, NULL); | ||||||
| #else | #else | ||||||
|   | |||||||
| @@ -43,9 +43,7 @@ | |||||||
| #endif /* WIN32 */ | #endif /* WIN32 */ | ||||||
|  |  | ||||||
| /* strndup() is a GNU extension. */ | /* strndup() is a GNU extension. */ | ||||||
| #if HAVE_STRNDUP && !defined(WIN32) | #if !HAVE_STRNDUP || defined(WIN32) | ||||||
| 	extern char *strndup(__const char *__string, size_t __n); |  | ||||||
| #else /* HAVE_STRNDUP && !defined(WIN32) */ |  | ||||||
| 	static char *strndup(const char *__string, size_t __n) | 	static char *strndup(const char *__string, size_t __n) | ||||||
| 	{ | 	{ | ||||||
| 		size_t strsize = strnlen(__string, __n); | 		size_t strsize = strnlen(__string, __n); | ||||||
|   | |||||||
| @@ -80,14 +80,14 @@ | |||||||
|  |  | ||||||
| #ifndef IN6_IS_ADDR_GLOBAL | #ifndef IN6_IS_ADDR_GLOBAL | ||||||
| #define IN6_IS_ADDR_GLOBAL(a) \ | #define IN6_IS_ADDR_GLOBAL(a) \ | ||||||
| 		((((__const uint32_t *) (a))[0] & htonl(0x70000000)) \ | 		((((__const uint32_t *) (a))[0] & htonl((uint32_t)0x70000000)) \ | ||||||
| 		== htonl (0x20000000)) | 		== htonl ((uint32_t)0x20000000)) | ||||||
| #endif /* IS ADDR GLOBAL */ | #endif /* IS ADDR GLOBAL */ | ||||||
|  |  | ||||||
| #ifndef IN6_IS_ADDR_ULA | #ifndef IN6_IS_ADDR_ULA | ||||||
| #define IN6_IS_ADDR_ULA(a) \ | #define IN6_IS_ADDR_ULA(a) \ | ||||||
| 		((((__const uint32_t *) (a))[0] & htonl(0xfe000000)) \ | 		((((__const uint32_t *) (a))[0] & htonl((uint32_t)0xfe000000)) \ | ||||||
| 		== htonl (0xfc000000)) | 		== htonl ((uint32_t)0xfc000000)) | ||||||
| #endif /* IS ADDR ULA */ | #endif /* IS ADDR ULA */ | ||||||
|  |  | ||||||
| /*! This structure is for virtual directory callbacks */ | /*! This structure is for virtual directory callbacks */ | ||||||
| @@ -358,13 +358,17 @@ static int UpnpInitPreamble(void) | |||||||
| 		return retVal; | 		return retVal; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | #ifdef INCLUDE_DEVICE_APIS | ||||||
| #if EXCLUDE_SOAP == 0 | #if EXCLUDE_SOAP == 0 | ||||||
| 	SetSoapCallback(soap_device_callback); | 	SetSoapCallback(soap_device_callback); | ||||||
| #endif | #endif | ||||||
|  | #endif /* INCLUDE_DEVICE_APIS */ | ||||||
|  |  | ||||||
|  | #ifdef INTERNAL_WEB_SERVER | ||||||
| #if EXCLUDE_GENA == 0 | #if EXCLUDE_GENA == 0 | ||||||
| 	SetGenaCallback(genaCallback); | 	SetGenaCallback(genaCallback); | ||||||
| #endif | #endif | ||||||
|  | #endif /* INTERNAL_WEB_SERVER */ | ||||||
|  |  | ||||||
| 	/* Initialize the SDK timer thread. */ | 	/* Initialize the SDK timer thread. */ | ||||||
| 	retVal = TimerThreadInit( &gTimerThread, &gSendThreadPool ); | 	retVal = TimerThreadInit( &gTimerThread, &gSendThreadPool ); | ||||||
| @@ -1586,7 +1590,6 @@ static int GetDescDocumentAndURL( | |||||||
| 			} | 			} | ||||||
| 			if (strlen(temp_str) > (LINE_SIZE - 1)) { | 			if (strlen(temp_str) > (LINE_SIZE - 1)) { | ||||||
| 				ixmlDocument_free(*xmlDoc); | 				ixmlDocument_free(*xmlDoc); | ||||||
| 				free(temp_str); |  | ||||||
| 				return UPNP_E_URL_TOO_BIG; | 				return UPNP_E_URL_TOO_BIG; | ||||||
| 			} | 			} | ||||||
| 			strncpy(aliasStr, temp_str, sizeof(aliasStr) - 1); | 			strncpy(aliasStr, temp_str, sizeof(aliasStr) - 1); | ||||||
| @@ -1977,7 +1980,9 @@ int UpnpSubscribeAsync( | |||||||
|     TPJobInit(&job, (start_routine)UpnpThreadDistribution, Param); |     TPJobInit(&job, (start_routine)UpnpThreadDistribution, Param); | ||||||
|     TPJobSetFreeFunction(&job, (free_routine)free); |     TPJobSetFreeFunction(&job, (free_routine)free); | ||||||
|     TPJobSetPriority(&job, MED_PRIORITY); |     TPJobSetPriority(&job, MED_PRIORITY); | ||||||
|     ThreadPoolAdd(&gSendThreadPool, &job, NULL); |     if (ThreadPoolAdd(&gSendThreadPool, &job, NULL) != 0) { | ||||||
|  | 	free(Param); | ||||||
|  |     } | ||||||
|  |  | ||||||
|     UpnpPrintf(UPNP_ALL, API, __FILE__, __LINE__, |     UpnpPrintf(UPNP_ALL, API, __FILE__, __LINE__, | ||||||
|         "Exiting UpnpSubscribeAsync\n"); |         "Exiting UpnpSubscribeAsync\n"); | ||||||
| @@ -2163,7 +2168,9 @@ int UpnpUnSubscribeAsync( | |||||||
| 	TPJobInit( &job, ( start_routine ) UpnpThreadDistribution, Param ); | 	TPJobInit( &job, ( start_routine ) UpnpThreadDistribution, Param ); | ||||||
| 	TPJobSetFreeFunction( &job, ( free_routine ) free ); | 	TPJobSetFreeFunction( &job, ( free_routine ) free ); | ||||||
| 	TPJobSetPriority( &job, MED_PRIORITY ); | 	TPJobSetPriority( &job, MED_PRIORITY ); | ||||||
| 	ThreadPoolAdd( &gSendThreadPool, &job, NULL ); | 	if (ThreadPoolAdd( &gSendThreadPool, &job, NULL ) != 0) { | ||||||
|  | 		free(Param); | ||||||
|  | 	} | ||||||
|  |  | ||||||
| exit_function: | exit_function: | ||||||
| 	UpnpPrintf(UPNP_ALL, API, __FILE__, __LINE__, "Exiting UpnpUnSubscribeAsync\n"); | 	UpnpPrintf(UPNP_ALL, API, __FILE__, __LINE__, "Exiting UpnpUnSubscribeAsync\n"); | ||||||
| @@ -2289,7 +2296,9 @@ int UpnpRenewSubscriptionAsync( | |||||||
|     TPJobInit( &job, ( start_routine ) UpnpThreadDistribution, Param ); |     TPJobInit( &job, ( start_routine ) UpnpThreadDistribution, Param ); | ||||||
|     TPJobSetFreeFunction( &job, ( free_routine ) free ); |     TPJobSetFreeFunction( &job, ( free_routine ) free ); | ||||||
|     TPJobSetPriority( &job, MED_PRIORITY ); |     TPJobSetPriority( &job, MED_PRIORITY ); | ||||||
|     ThreadPoolAdd( &gSendThreadPool, &job, NULL ); |     if (ThreadPoolAdd( &gSendThreadPool, &job, NULL ) != 0) { | ||||||
|  | 	free(Param); | ||||||
|  |     } | ||||||
|  |  | ||||||
|     UpnpPrintf(UPNP_ALL, API, __FILE__, __LINE__, |     UpnpPrintf(UPNP_ALL, API, __FILE__, __LINE__, | ||||||
|         "Exiting UpnpRenewSubscriptionAsync\n"); |         "Exiting UpnpRenewSubscriptionAsync\n"); | ||||||
| @@ -2732,6 +2741,7 @@ int UpnpSendActionAsync( | |||||||
|         malloc( sizeof( struct UpnpNonblockParam ) ); |         malloc( sizeof( struct UpnpNonblockParam ) ); | ||||||
|  |  | ||||||
|     if( Param == NULL ) { |     if( Param == NULL ) { | ||||||
|  |         ixmlFreeDOMString( tmpStr ); | ||||||
|         return UPNP_E_OUTOF_MEMORY; |         return UPNP_E_OUTOF_MEMORY; | ||||||
|     } |     } | ||||||
|     memset( Param, 0, sizeof( struct UpnpNonblockParam ) ); |     memset( Param, 0, sizeof( struct UpnpNonblockParam ) ); | ||||||
| @@ -2760,7 +2770,9 @@ int UpnpSendActionAsync( | |||||||
|     TPJobSetFreeFunction( &job, ( free_routine ) free ); |     TPJobSetFreeFunction( &job, ( free_routine ) free ); | ||||||
|  |  | ||||||
|     TPJobSetPriority( &job, MED_PRIORITY ); |     TPJobSetPriority( &job, MED_PRIORITY ); | ||||||
|     ThreadPoolAdd( &gSendThreadPool, &job, NULL ); |     if (ThreadPoolAdd( &gSendThreadPool, &job, NULL ) != 0) { | ||||||
|  | 	free(Param); | ||||||
|  |     } | ||||||
|  |  | ||||||
|     UpnpPrintf(UPNP_ALL, API, __FILE__, __LINE__, |     UpnpPrintf(UPNP_ALL, API, __FILE__, __LINE__, | ||||||
|         "Exiting UpnpSendActionAsync \n"); |         "Exiting UpnpSendActionAsync \n"); | ||||||
| @@ -2825,6 +2837,7 @@ int UpnpSendActionExAsync( | |||||||
|  |  | ||||||
|     tmpStr = ixmlPrintNode( ( IXML_Node * ) Act ); |     tmpStr = ixmlPrintNode( ( IXML_Node * ) Act ); | ||||||
|     if( tmpStr == NULL ) { |     if( tmpStr == NULL ) { | ||||||
|  |         ixmlFreeDOMString( headerStr ); | ||||||
|         return UPNP_E_INVALID_ACTION; |         return UPNP_E_INVALID_ACTION; | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @@ -2832,6 +2845,8 @@ int UpnpSendActionExAsync( | |||||||
|         ( struct UpnpNonblockParam * ) |         ( struct UpnpNonblockParam * ) | ||||||
|         malloc( sizeof( struct UpnpNonblockParam ) ); |         malloc( sizeof( struct UpnpNonblockParam ) ); | ||||||
|     if( Param == NULL ) { |     if( Param == NULL ) { | ||||||
|  |         ixmlFreeDOMString( tmpStr ); | ||||||
|  |         ixmlFreeDOMString( headerStr ); | ||||||
|         return UPNP_E_OUTOF_MEMORY; |         return UPNP_E_OUTOF_MEMORY; | ||||||
|     } |     } | ||||||
|     memset( Param, 0, sizeof( struct UpnpNonblockParam ) ); |     memset( Param, 0, sizeof( struct UpnpNonblockParam ) ); | ||||||
| @@ -2855,10 +2870,10 @@ int UpnpSendActionExAsync( | |||||||
|  |  | ||||||
|     retVal = ixmlParseBufferEx( tmpStr, &( Param->Act ) ); |     retVal = ixmlParseBufferEx( tmpStr, &( Param->Act ) ); | ||||||
|     if( retVal != IXML_SUCCESS ) { |     if( retVal != IXML_SUCCESS ) { | ||||||
|  |         ixmlDocument_free( Param->Header ); | ||||||
|         free( Param ); |         free( Param ); | ||||||
|         ixmlFreeDOMString( tmpStr ); |         ixmlFreeDOMString( tmpStr ); | ||||||
|         ixmlFreeDOMString( headerStr ); |         ixmlFreeDOMString( headerStr ); | ||||||
|         ixmlDocument_free( Param->Header ); |  | ||||||
|         if( retVal == IXML_INSUFFICIENT_MEMORY ) { |         if( retVal == IXML_INSUFFICIENT_MEMORY ) { | ||||||
|             return UPNP_E_OUTOF_MEMORY; |             return UPNP_E_OUTOF_MEMORY; | ||||||
|         } else { |         } else { | ||||||
| @@ -2877,7 +2892,9 @@ int UpnpSendActionExAsync( | |||||||
|     TPJobSetFreeFunction( &job, ( free_routine ) free ); |     TPJobSetFreeFunction( &job, ( free_routine ) free ); | ||||||
|  |  | ||||||
|     TPJobSetPriority( &job, MED_PRIORITY ); |     TPJobSetPriority( &job, MED_PRIORITY ); | ||||||
|     ThreadPoolAdd( &gSendThreadPool, &job, NULL ); |     if (ThreadPoolAdd( &gSendThreadPool, &job, NULL ) != 0) { | ||||||
|  | 	free(Param); | ||||||
|  |     } | ||||||
|  |  | ||||||
|     UpnpPrintf(UPNP_ALL, API, __FILE__, __LINE__, |     UpnpPrintf(UPNP_ALL, API, __FILE__, __LINE__, | ||||||
|         "Exiting UpnpSendActionAsync\n"); |         "Exiting UpnpSendActionAsync\n"); | ||||||
| @@ -2944,7 +2961,9 @@ int UpnpGetServiceVarStatusAsync( | |||||||
|  |  | ||||||
|     TPJobSetPriority( &job, MED_PRIORITY ); |     TPJobSetPriority( &job, MED_PRIORITY ); | ||||||
|  |  | ||||||
|     ThreadPoolAdd( &gSendThreadPool, &job, NULL ); |     if (ThreadPoolAdd( &gSendThreadPool, &job, NULL ) != 0) { | ||||||
|  | 	free(Param); | ||||||
|  |     } | ||||||
|  |  | ||||||
|     UpnpPrintf(UPNP_ALL, API, __FILE__, __LINE__, |     UpnpPrintf(UPNP_ALL, API, __FILE__, __LINE__, | ||||||
|         "Exiting UpnpGetServiceVarStatusAsync\n"); |         "Exiting UpnpGetServiceVarStatusAsync\n"); | ||||||
| @@ -3729,6 +3748,7 @@ Upnp_Handle_Type GetDeviceHandleInfo( | |||||||
| 	UpnpDevice_Handle *device_handle_out, | 	UpnpDevice_Handle *device_handle_out, | ||||||
| 	struct Handle_Info **HndInfo) | 	struct Handle_Info **HndInfo) | ||||||
| { | { | ||||||
|  | #ifdef INCLUDE_DEVICE_APIS | ||||||
| 	/* Check if we've got a registered device of the address family specified. */ | 	/* Check if we've got a registered device of the address family specified. */ | ||||||
| 	if ((AddressFamily == AF_INET  && UpnpSdkDeviceRegisteredV4 == 0) || | 	if ((AddressFamily == AF_INET  && UpnpSdkDeviceRegisteredV4 == 0) || | ||||||
| 	    (AddressFamily == AF_INET6 && UpnpSdkDeviceregisteredV6 == 0)) { | 	    (AddressFamily == AF_INET6 && UpnpSdkDeviceregisteredV6 == 0)) { | ||||||
| @@ -3748,6 +3768,7 @@ Upnp_Handle_Type GetDeviceHandleInfo( | |||||||
| 			break; | 			break; | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  | #endif /* INCLUDE_DEVICE_APIS */ | ||||||
|  |  | ||||||
| 	*device_handle_out = -1; | 	*device_handle_out = -1; | ||||||
| 	return HND_INVALID; | 	return HND_INVALID; | ||||||
| @@ -4075,16 +4096,17 @@ int UpnpRemoveVirtualDir(const char *dirName) | |||||||
|         return UPNP_E_INVALID_PARAM; |         return UPNP_E_INVALID_PARAM; | ||||||
|     } |     } | ||||||
|     /* Handle the special case where the directory that we are */ |     /* Handle the special case where the directory that we are */ | ||||||
|     /* removing is the first and only one in the list. */ |     /* removing is the first in the list. */ | ||||||
|     if( ( pVirtualDirList->next == NULL ) && |     if (strcmp( pVirtualDirList->dirName, dirName ) == 0) | ||||||
|         ( strcmp( pVirtualDirList->dirName, dirName ) == 0 ) ) { |     { | ||||||
|         free( pVirtualDirList ); |         pPrev = pVirtualDirList; | ||||||
|         pVirtualDirList = NULL; |         pVirtualDirList = pVirtualDirList->next; | ||||||
|  |         free( pPrev ); | ||||||
|         return UPNP_E_SUCCESS; |         return UPNP_E_SUCCESS; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     pCur = pVirtualDirList; |     pCur = pVirtualDirList->next; | ||||||
|     pPrev = pCur; |     pPrev = pVirtualDirList; | ||||||
|  |  | ||||||
|     while( pCur != NULL ) { |     while( pCur != NULL ) { | ||||||
|         if( strcmp( pCur->dirName, dirName ) == 0 ) { |         if( strcmp( pCur->dirName, dirName ) == 0 ) { | ||||||
|   | |||||||
| @@ -102,12 +102,11 @@ static int GeneratePropertySet( | |||||||
| 	char *buffer; | 	char *buffer; | ||||||
| 	int counter = 0; | 	int counter = 0; | ||||||
| 	size_t size = 0; | 	size_t size = 0; | ||||||
| 	int temp_counter = 0; |  | ||||||
|  |  | ||||||
| 	/*size += strlen(XML_VERSION);*/ | 	/*size += strlen(XML_VERSION);*/ | ||||||
| 	size += strlen(XML_PROPERTYSET_HEADER); | 	size += strlen(XML_PROPERTYSET_HEADER); | ||||||
| 	size += strlen("</e:propertyset>\n\n"); | 	size += strlen("</e:propertyset>\n\n"); | ||||||
| 	for (temp_counter = 0, counter = 0; counter < count; counter++) { | 	for (counter = 0; counter < count; counter++) { | ||||||
| 		size += strlen( "<e:property>\n</e:property>\n" ); | 		size += strlen( "<e:property>\n</e:property>\n" ); | ||||||
| 		size += 2 * strlen(names[counter]) + | 		size += 2 * strlen(names[counter]) + | ||||||
| 			strlen(values[counter]) + | 			strlen(values[counter]) + | ||||||
| @@ -258,14 +257,11 @@ static int genaNotify( | |||||||
| { | { | ||||||
| 	size_t i; | 	size_t i; | ||||||
| 	membuffer mid_msg; | 	membuffer mid_msg; | ||||||
| 	membuffer endmsg; |  | ||||||
| 	uri_type *url; | 	uri_type *url; | ||||||
| 	http_parser_t response; | 	http_parser_t response; | ||||||
| 	int return_code = -1; | 	int return_code = -1; | ||||||
|  |  | ||||||
| 	membuffer_init(&mid_msg); | 	membuffer_init(&mid_msg); | ||||||
| 	/* make 'end' msg (the part that won't vary with the destination) */ |  | ||||||
| 	endmsg.size_inc = 30; |  | ||||||
| 	if (http_MakeMessage(&mid_msg, 1, 1, | 	if (http_MakeMessage(&mid_msg, 1, 1, | ||||||
| 			     "s" "ssc" "sdcc", | 			     "s" "ssc" "sdcc", | ||||||
| 			     headers, | 			     headers, | ||||||
| @@ -484,25 +480,20 @@ int genaInitNotify( | |||||||
| 	} | 	} | ||||||
| 	*reference_count = 0; | 	*reference_count = 0; | ||||||
| 	 | 	 | ||||||
| 	UDN_copy = (char *)malloc(strlen(UDN) + 1); | 	UDN_copy = strdup(UDN); | ||||||
| 	if (UDN_copy == NULL) { | 	if (UDN_copy == NULL) { | ||||||
| 		line = __LINE__; | 		line = __LINE__; | ||||||
| 		ret = UPNP_E_OUTOF_MEMORY; | 		ret = UPNP_E_OUTOF_MEMORY; | ||||||
| 		goto ExitFunction; | 		goto ExitFunction; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	servId_copy = (char *)malloc(strlen(servId) + 1); | 	servId_copy = strdup(servId); | ||||||
| 	if (servId_copy == NULL) { | 	if (servId_copy == NULL) { | ||||||
| 		line = __LINE__; | 		line = __LINE__; | ||||||
| 		ret = UPNP_E_OUTOF_MEMORY; | 		ret = UPNP_E_OUTOF_MEMORY; | ||||||
| 		goto ExitFunction; | 		goto ExitFunction; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	memset(UDN_copy, 0, strlen(UDN) + 1); |  | ||||||
| 	strncpy(UDN_copy, UDN, strlen(UDN)); |  | ||||||
| 	memset(servId_copy, 0, strlen(servId) + 1); |  | ||||||
| 	strncpy(servId_copy, servId, strlen(servId)); |  | ||||||
|  |  | ||||||
| 	HandleLock(); | 	HandleLock(); | ||||||
|  |  | ||||||
| 	if (GetHandleInfo(device_handle, &handle_info) != HND_DEVICE) { | 	if (GetHandleInfo(device_handle, &handle_info) != HND_DEVICE) { | ||||||
| @@ -643,25 +634,20 @@ int genaInitNotifyExt( | |||||||
| 	} | 	} | ||||||
| 	*reference_count = 0; | 	*reference_count = 0; | ||||||
| 	 | 	 | ||||||
| 	UDN_copy = (char *)malloc(strlen(UDN) + 1); | 	UDN_copy = strdup(UDN); | ||||||
| 	if (UDN_copy == NULL) { | 	if (UDN_copy == NULL) { | ||||||
| 		line = __LINE__; | 		line = __LINE__; | ||||||
| 		ret = UPNP_E_OUTOF_MEMORY; | 		ret = UPNP_E_OUTOF_MEMORY; | ||||||
| 		goto ExitFunction; | 		goto ExitFunction; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	servId_copy = (char *)malloc(strlen(servId) + 1); | 	servId_copy = strdup(servId); | ||||||
| 	if( servId_copy == NULL ) { | 	if( servId_copy == NULL ) { | ||||||
| 		line = __LINE__; | 		line = __LINE__; | ||||||
| 		ret = UPNP_E_OUTOF_MEMORY; | 		ret = UPNP_E_OUTOF_MEMORY; | ||||||
| 		goto ExitFunction; | 		goto ExitFunction; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	memset(UDN_copy, 0, strlen(UDN) + 1); |  | ||||||
| 	strncpy(UDN_copy, UDN, strlen(UDN)); |  | ||||||
| 	memset(servId_copy, 0, strlen(servId) + 1); |  | ||||||
| 	strncpy(servId_copy, servId, strlen(servId)); |  | ||||||
|  |  | ||||||
| 	HandleLock(); | 	HandleLock(); | ||||||
|  |  | ||||||
| 	if (GetHandleInfo(device_handle, &handle_info) != HND_DEVICE) { | 	if (GetHandleInfo(device_handle, &handle_info) != HND_DEVICE) { | ||||||
| @@ -802,25 +788,20 @@ int genaNotifyAllExt( | |||||||
| 	} | 	} | ||||||
| 	*reference_count = 0; | 	*reference_count = 0; | ||||||
| 	 | 	 | ||||||
| 	UDN_copy = (char *)malloc(strlen(UDN) + 1); | 	UDN_copy = strdup(UDN); | ||||||
| 	if (UDN_copy == NULL) { | 	if (UDN_copy == NULL) { | ||||||
| 		line = __LINE__; | 		line = __LINE__; | ||||||
| 		ret = UPNP_E_OUTOF_MEMORY; | 		ret = UPNP_E_OUTOF_MEMORY; | ||||||
| 		goto ExitFunction; | 		goto ExitFunction; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	servId_copy = (char *)malloc(strlen(servId) + 1); | 	servId_copy = strdup(servId); | ||||||
| 	if( servId_copy == NULL ) { | 	if( servId_copy == NULL ) { | ||||||
| 		line = __LINE__; | 		line = __LINE__; | ||||||
| 		ret = UPNP_E_OUTOF_MEMORY; | 		ret = UPNP_E_OUTOF_MEMORY; | ||||||
| 		goto ExitFunction; | 		goto ExitFunction; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	memset(UDN_copy, 0, strlen(UDN) + 1); |  | ||||||
| 	strncpy(UDN_copy, UDN, strlen(UDN)); |  | ||||||
| 	memset(servId_copy, 0, strlen(servId) + 1); |  | ||||||
| 	strncpy(servId_copy, servId, strlen(servId)); |  | ||||||
|  |  | ||||||
| 	propertySet = ixmlPrintNode((IXML_Node *)PropSet); | 	propertySet = ixmlPrintNode((IXML_Node *)PropSet); | ||||||
| 	if (propertySet == NULL) { | 	if (propertySet == NULL) { | ||||||
| 		line = __LINE__; | 		line = __LINE__; | ||||||
| @@ -948,25 +929,20 @@ int genaNotifyAll( | |||||||
| 	} | 	} | ||||||
| 	*reference_count = 0; | 	*reference_count = 0; | ||||||
| 	 | 	 | ||||||
| 	UDN_copy = (char *)malloc(strlen(UDN) + 1); | 	UDN_copy = strdup(UDN); | ||||||
| 	if (UDN_copy == NULL) { | 	if (UDN_copy == NULL) { | ||||||
| 		line = __LINE__; | 		line = __LINE__; | ||||||
| 		ret = UPNP_E_OUTOF_MEMORY; | 		ret = UPNP_E_OUTOF_MEMORY; | ||||||
| 		goto ExitFunction; | 		goto ExitFunction; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	servId_copy = (char *)malloc(strlen(servId) + 1); | 	servId_copy = strdup(servId); | ||||||
| 	if( servId_copy == NULL ) { | 	if( servId_copy == NULL ) { | ||||||
| 		line = __LINE__; | 		line = __LINE__; | ||||||
| 		ret = UPNP_E_OUTOF_MEMORY; | 		ret = UPNP_E_OUTOF_MEMORY; | ||||||
| 		goto ExitFunction; | 		goto ExitFunction; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	memset(UDN_copy, 0, strlen(UDN) + 1); |  | ||||||
| 	strncpy(UDN_copy, UDN, strlen(UDN)); |  | ||||||
| 	memset(servId_copy, 0, strlen(servId) + 1); |  | ||||||
| 	strncpy(servId_copy, servId, strlen(servId)); |  | ||||||
|  |  | ||||||
| 	ret = GeneratePropertySet(VarNames, VarValues, var_count, &propertySet); | 	ret = GeneratePropertySet(VarNames, VarValues, var_count, &propertySet); | ||||||
| 	if (ret != XML_SUCCESS) { | 	if (ret != XML_SUCCESS) { | ||||||
| 		line = __LINE__; | 		line = __LINE__; | ||||||
|   | |||||||
| @@ -91,10 +91,11 @@ uint16_t miniStopSockPort; | |||||||
| /*! | /*! | ||||||
|  * module vars |  * module vars | ||||||
|  */ |  */ | ||||||
|  | static MiniServerState gMServState = MSERV_IDLE; | ||||||
|  | #ifdef INTERNAL_WEB_SERVER | ||||||
| static MiniServerCallback gGetCallback = NULL; | static MiniServerCallback gGetCallback = NULL; | ||||||
| static MiniServerCallback gSoapCallback = NULL; | static MiniServerCallback gSoapCallback = NULL; | ||||||
| static MiniServerCallback gGenaCallback = NULL; | static MiniServerCallback gGenaCallback = NULL; | ||||||
| static MiniServerState gMServState = MSERV_IDLE; |  | ||||||
|  |  | ||||||
| void SetHTTPGetCallback(MiniServerCallback callback) | void SetHTTPGetCallback(MiniServerCallback callback) | ||||||
| { | { | ||||||
| @@ -113,7 +114,6 @@ void SetGenaCallback(MiniServerCallback callback) | |||||||
| 	gGenaCallback = callback; | 	gGenaCallback = callback; | ||||||
| } | } | ||||||
|  |  | ||||||
| #ifdef INTERNAL_WEB_SERVER |  | ||||||
| /*! | /*! | ||||||
|  * \brief Based on the type pf message, appropriate callback is issued. |  * \brief Based on the type pf message, appropriate callback is issued. | ||||||
|  * |  * | ||||||
| @@ -340,7 +340,7 @@ static int receive_from_stopSock(SOCKET ssock, fd_set *set) | |||||||
| 		clientLen = sizeof(clientAddr); | 		clientLen = sizeof(clientAddr); | ||||||
| 		memset((char *)&clientAddr, 0, sizeof(clientAddr)); | 		memset((char *)&clientAddr, 0, sizeof(clientAddr)); | ||||||
| 		byteReceived = recvfrom(ssock, requestBuf, | 		byteReceived = recvfrom(ssock, requestBuf, | ||||||
| 			25, 0, (struct sockaddr *)&clientAddr, &clientLen); | 			(size_t)25, 0, (struct sockaddr *)&clientAddr, &clientLen); | ||||||
| 		if (byteReceived > 0) { | 		if (byteReceived > 0) { | ||||||
| 			requestBuf[byteReceived] = '\0'; | 			requestBuf[byteReceived] = '\0'; | ||||||
| 			inet_ntop(AF_INET, | 			inet_ntop(AF_INET, | ||||||
| @@ -377,7 +377,7 @@ static void RunMiniServer( | |||||||
| 	fd_set rdSet; | 	fd_set rdSet; | ||||||
| 	SOCKET maxMiniSock; | 	SOCKET maxMiniSock; | ||||||
| 	int ret = 0; | 	int ret = 0; | ||||||
| 	SOCKET stopSock = 0; | 	int stopSock = 0; | ||||||
|  |  | ||||||
| 	maxMiniSock = 0; | 	maxMiniSock = 0; | ||||||
| 	maxMiniSock = max(maxMiniSock, miniSock->miniServerSock4); | 	maxMiniSock = max(maxMiniSock, miniSock->miniServerSock4); | ||||||
| @@ -476,7 +476,7 @@ static int get_port( | |||||||
| 		*port = ntohs(((struct sockaddr_in6*)&sockinfo)->sin6_port); | 		*port = ntohs(((struct sockaddr_in6*)&sockinfo)->sin6_port); | ||||||
| 	} | 	} | ||||||
| 	UpnpPrintf(UPNP_INFO, MSERV, __FILE__, __LINE__, | 	UpnpPrintf(UPNP_INFO, MSERV, __FILE__, __LINE__, | ||||||
| 		"sockfd = %d, .... port = %u\n", sockfd, *port); | 		"sockfd = %d, .... port = %d\n", sockfd, (int)*port); | ||||||
|  |  | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
| @@ -502,21 +502,25 @@ static int get_miniserver_sockets( | |||||||
| 	MiniServerSockArray *out, | 	MiniServerSockArray *out, | ||||||
| 	/*! [in] port on which the server is listening for incoming IPv4 | 	/*! [in] port on which the server is listening for incoming IPv4 | ||||||
| 	 * connections. */ | 	 * connections. */ | ||||||
| 	uint16_t listen_port4, | 	uint16_t listen_port4 | ||||||
|  | #ifdef UPNP_ENABLE_IPV6 | ||||||
|  | 	, | ||||||
| 	/*! [in] port on which the server is listening for incoming IPv6 | 	/*! [in] port on which the server is listening for incoming IPv6 | ||||||
| 	 * connections. */ | 	 * connections. */ | ||||||
| 	uint16_t listen_port6) | 	uint16_t listen_port6 | ||||||
|  | #endif | ||||||
|  | 	) | ||||||
| { | { | ||||||
| 	char errorBuffer[ERROR_BUFFER_LEN]; | 	char errorBuffer[ERROR_BUFFER_LEN]; | ||||||
| 	struct sockaddr_storage __ss_v4; | 	struct sockaddr_storage __ss_v4; | ||||||
| 	struct sockaddr_in* serverAddr4 = (struct sockaddr_in*)&__ss_v4; | 	struct sockaddr_in* serverAddr4 = (struct sockaddr_in*)&__ss_v4; | ||||||
| 	SOCKET listenfd4; | 	SOCKET listenfd4; | ||||||
| 	uint16_t actual_port4; | 	uint16_t actual_port4 = 0u; | ||||||
| #ifdef UPNP_ENABLE_IPV6 | #ifdef UPNP_ENABLE_IPV6 | ||||||
| 	struct sockaddr_storage __ss_v6; | 	struct sockaddr_storage __ss_v6; | ||||||
| 	struct sockaddr_in6* serverAddr6 = (struct sockaddr_in6*)&__ss_v6; | 	struct sockaddr_in6* serverAddr6 = (struct sockaddr_in6*)&__ss_v6; | ||||||
| 	SOCKET listenfd6; | 	SOCKET listenfd6; | ||||||
| 	uint16_t actual_port6; | 	uint16_t actual_port6 = 0u; | ||||||
| 	int onOff; | 	int onOff; | ||||||
| #endif | #endif | ||||||
| 	int ret_code; | 	int ret_code; | ||||||
| @@ -548,19 +552,19 @@ static int get_miniserver_sockets( | |||||||
| 	/* As per the IANA specifications for the use of ports by applications | 	/* As per the IANA specifications for the use of ports by applications | ||||||
| 	 * override the listen port passed in with the first available. */ | 	 * override the listen port passed in with the first available. */ | ||||||
| 	if (listen_port4 < APPLICATION_LISTENING_PORT) { | 	if (listen_port4 < APPLICATION_LISTENING_PORT) { | ||||||
| 		listen_port4 = APPLICATION_LISTENING_PORT; | 		listen_port4 = (uint16_t)APPLICATION_LISTENING_PORT; | ||||||
| 	} | 	} | ||||||
| #ifdef UPNP_ENABLE_IPV6 | #ifdef UPNP_ENABLE_IPV6 | ||||||
| 	if (listen_port6 < APPLICATION_LISTENING_PORT) { | 	if (listen_port6 < APPLICATION_LISTENING_PORT) { | ||||||
| 		listen_port6 = APPLICATION_LISTENING_PORT; | 		listen_port6 = (uint16_t)APPLICATION_LISTENING_PORT; | ||||||
| 	} | 	} | ||||||
| #endif | #endif | ||||||
| 	memset(&__ss_v4, 0, sizeof (__ss_v4)); | 	memset(&__ss_v4, 0, sizeof (__ss_v4)); | ||||||
| 	serverAddr4->sin_family = AF_INET; | 	serverAddr4->sin_family = (sa_family_t)AF_INET; | ||||||
| 	serverAddr4->sin_addr.s_addr = htonl(INADDR_ANY); | 	serverAddr4->sin_addr.s_addr = htonl(INADDR_ANY); | ||||||
| #ifdef UPNP_ENABLE_IPV6 | #ifdef UPNP_ENABLE_IPV6 | ||||||
| 	memset(&__ss_v6, 0, sizeof (__ss_v6)); | 	memset(&__ss_v6, 0, sizeof (__ss_v6)); | ||||||
| 	serverAddr6->sin6_family = AF_INET6; | 	serverAddr6->sin6_family = (sa_family_t)AF_INET6; | ||||||
| 	serverAddr6->sin6_addr = in6addr_any; | 	serverAddr6->sin6_addr = in6addr_any; | ||||||
| #endif | #endif | ||||||
| 	/* Getting away with implementation of re-using address:port and | 	/* Getting away with implementation of re-using address:port and | ||||||
| @@ -760,10 +764,6 @@ static int get_miniserver_sockets( | |||||||
| 	out->miniServerSock4 = listenfd4; | 	out->miniServerSock4 = listenfd4; | ||||||
| #ifdef UPNP_ENABLE_IPV6 | #ifdef UPNP_ENABLE_IPV6 | ||||||
| 	out->miniServerSock6 = listenfd6; | 	out->miniServerSock6 = listenfd6; | ||||||
| #else |  | ||||||
| 	/* Silence compiler warning message: |  | ||||||
| 	 * warning: unused parameter ‘listen_port6’ */ |  | ||||||
| 	listen_port6 = 0; |  | ||||||
| #endif | #endif | ||||||
| 	return UPNP_E_SUCCESS; | 	return UPNP_E_SUCCESS; | ||||||
| } | } | ||||||
| @@ -797,7 +797,7 @@ static int get_miniserver_stopsock( | |||||||
| 	} | 	} | ||||||
| 	/* Bind to local socket. */ | 	/* Bind to local socket. */ | ||||||
| 	memset(&stop_sockaddr, 0, sizeof (stop_sockaddr)); | 	memset(&stop_sockaddr, 0, sizeof (stop_sockaddr)); | ||||||
| 	stop_sockaddr.sin_family = AF_INET; | 	stop_sockaddr.sin_family = (sa_family_t)AF_INET; | ||||||
| 	stop_sockaddr.sin_addr.s_addr = inet_addr("127.0.0.1"); | 	stop_sockaddr.sin_addr.s_addr = inet_addr("127.0.0.1"); | ||||||
| 	ret = bind(miniServerStopSock, (struct sockaddr *)&stop_sockaddr, | 	ret = bind(miniServerStopSock, (struct sockaddr *)&stop_sockaddr, | ||||||
| 		sizeof(stop_sockaddr)); | 		sizeof(stop_sockaddr)); | ||||||
| @@ -827,9 +827,9 @@ static UPNP_INLINE void InitMiniServerSockArray(MiniServerSockArray *miniSocket) | |||||||
| 	miniSocket->ssdpSock4 = INVALID_SOCKET; | 	miniSocket->ssdpSock4 = INVALID_SOCKET; | ||||||
| 	miniSocket->ssdpSock6 = INVALID_SOCKET; | 	miniSocket->ssdpSock6 = INVALID_SOCKET; | ||||||
| 	miniSocket->ssdpSock6UlaGua = INVALID_SOCKET; | 	miniSocket->ssdpSock6UlaGua = INVALID_SOCKET; | ||||||
| 	miniSocket->stopPort = 0; | 	miniSocket->stopPort = 0u; | ||||||
| 	miniSocket->miniServerPort4 = 0; | 	miniSocket->miniServerPort4 = 0u; | ||||||
| 	miniSocket->miniServerPort6 = 0; | 	miniSocket->miniServerPort6 = 0u; | ||||||
| #ifdef INCLUDE_CLIENT_APIS | #ifdef INCLUDE_CLIENT_APIS | ||||||
| 	miniSocket->ssdpReqSock4 = INVALID_SOCKET; | 	miniSocket->ssdpReqSock4 = INVALID_SOCKET; | ||||||
| 	miniSocket->ssdpReqSock6 = INVALID_SOCKET; | 	miniSocket->ssdpReqSock6 = INVALID_SOCKET; | ||||||
| @@ -852,7 +852,10 @@ int StartMiniServer( | |||||||
|  |  | ||||||
| 	memset(&job, 0, sizeof(job)); | 	memset(&job, 0, sizeof(job)); | ||||||
|  |  | ||||||
| 	if (gMServState != MSERV_IDLE) { | 	switch (gMServState) { | ||||||
|  | 	case MSERV_IDLE: | ||||||
|  | 		break; | ||||||
|  | 	default: | ||||||
| 		/* miniserver running. */ | 		/* miniserver running. */ | ||||||
| 		return UPNP_E_INTERNAL_ERROR; | 		return UPNP_E_INTERNAL_ERROR; | ||||||
| 	} | 	} | ||||||
| @@ -865,7 +868,11 @@ int StartMiniServer( | |||||||
| #ifdef INTERNAL_WEB_SERVER | #ifdef INTERNAL_WEB_SERVER | ||||||
| 	/* V4 and V6 http listeners. */ | 	/* V4 and V6 http listeners. */ | ||||||
| 	ret_code = get_miniserver_sockets( | 	ret_code = get_miniserver_sockets( | ||||||
| 		miniSocket, *listen_port4, *listen_port6); | 		miniSocket, *listen_port4 | ||||||
|  | #ifdef UPNP_ENABLE_IPV6 | ||||||
|  | 		, *listen_port6 | ||||||
|  | #endif | ||||||
|  | 		); | ||||||
| 	if (ret_code != UPNP_E_SUCCESS) { | 	if (ret_code != UPNP_E_SUCCESS) { | ||||||
| 		free(miniSocket); | 		free(miniSocket); | ||||||
| 		return ret_code; | 		return ret_code; | ||||||
| @@ -903,13 +910,14 @@ int StartMiniServer( | |||||||
| 		sock_close(miniSocket->ssdpReqSock4); | 		sock_close(miniSocket->ssdpReqSock4); | ||||||
| 		sock_close(miniSocket->ssdpReqSock6); | 		sock_close(miniSocket->ssdpReqSock6); | ||||||
| #endif /* INCLUDE_CLIENT_APIS */ | #endif /* INCLUDE_CLIENT_APIS */ | ||||||
|  | 		free(miniSocket); | ||||||
| 		return UPNP_E_OUTOF_MEMORY; | 		return UPNP_E_OUTOF_MEMORY; | ||||||
| 	} | 	} | ||||||
| 	/* Wait for miniserver to start. */ | 	/* Wait for miniserver to start. */ | ||||||
| 	count = 0; | 	count = 0; | ||||||
| 	while (gMServState != MSERV_RUNNING && count < max_count) { | 	while (gMServState != (MiniServerState)MSERV_RUNNING && count < max_count) { | ||||||
| 		/* 0.05s */ | 		/* 0.05s */ | ||||||
| 		usleep(50 * 1000); | 		usleep(50u * 1000u); | ||||||
| 		count++; | 		count++; | ||||||
| 	} | 	} | ||||||
| 	if (count >= max_count) { | 	if (count >= max_count) { | ||||||
| @@ -943,9 +951,11 @@ int StopMiniServer() | |||||||
| 	char buf[256] = "ShutDown"; | 	char buf[256] = "ShutDown"; | ||||||
| 	size_t bufLen = strlen(buf); | 	size_t bufLen = strlen(buf); | ||||||
|  |  | ||||||
| 	if(gMServState == MSERV_RUNNING) { | 	switch(gMServState) { | ||||||
|  | 	case MSERV_RUNNING: | ||||||
| 		gMServState = MSERV_STOPPING; | 		gMServState = MSERV_STOPPING; | ||||||
| 	} else { | 		break; | ||||||
|  | 	default: | ||||||
| 		return 0; | 		return 0; | ||||||
| 	} | 	} | ||||||
| 	sock = socket(AF_INET, SOCK_DGRAM, 0); | 	sock = socket(AF_INET, SOCK_DGRAM, 0); | ||||||
| @@ -956,17 +966,17 @@ int StopMiniServer() | |||||||
| 			errorBuffer); | 			errorBuffer); | ||||||
| 		return 0; | 		return 0; | ||||||
| 	} | 	} | ||||||
| 	while(gMServState != MSERV_IDLE) { | 	while(gMServState != (MiniServerState)MSERV_IDLE) { | ||||||
| 		ssdpAddr.sin_family = AF_INET; | 		ssdpAddr.sin_family = (sa_family_t)AF_INET; | ||||||
| 		ssdpAddr.sin_addr.s_addr = inet_addr("127.0.0.1"); | 		ssdpAddr.sin_addr.s_addr = inet_addr("127.0.0.1"); | ||||||
| 		ssdpAddr.sin_port = htons(miniStopSockPort); | 		ssdpAddr.sin_port = htons(miniStopSockPort); | ||||||
| 		sendto(sock, buf, bufLen, 0, | 		sendto(sock, buf, bufLen, 0, | ||||||
| 			(struct sockaddr *)&ssdpAddr, socklen); | 			(struct sockaddr *)&ssdpAddr, socklen); | ||||||
| 		usleep(1000); | 		usleep(1000u); | ||||||
| 		if (gMServState == MSERV_IDLE) { | 		if (gMServState == (MiniServerState)MSERV_IDLE) { | ||||||
| 			break; | 			break; | ||||||
| 		} | 		} | ||||||
| 		isleep(1); | 		isleep(1u); | ||||||
| 	} | 	} | ||||||
| 	sock_close(sock); | 	sock_close(sock); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -138,12 +138,12 @@ static UPNP_INLINE void scanner_init(OUT scanner_t *scanner, IN membuffer *bufpt | |||||||
| * Parameters : | * Parameters : | ||||||
| *	IN char c ;	character to be tested against used separator values | *	IN char c ;	character to be tested against used separator values | ||||||
| * | * | ||||||
| * Description :	Finds the separator character. | * Description :	Determines if the passed value is a separator | ||||||
| * | * | ||||||
| ************************************************************************/ | ************************************************************************/ | ||||||
| static UPNP_INLINE int is_separator_char(IN char c) | static UPNP_INLINE int is_separator_char(IN int c) | ||||||
| { | { | ||||||
|     return strchr(" \t()<>@,;:\\\"/[]?={}", (int)c) != NULL; | 	return strchr(" \t()<>@,;:\\\"/[]?={}", c) != 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| /************************************************************************ | /************************************************************************ | ||||||
| @@ -152,10 +152,10 @@ static UPNP_INLINE int is_separator_char(IN char c) | |||||||
| * Parameters : | * Parameters : | ||||||
| *	IN char c ;	character to be tested for separator values | *	IN char c ;	character to be tested for separator values | ||||||
| * | * | ||||||
| * Description :	Calls the function to indentify separator character  | * Description :	Determines if the passed value is permissible in token | ||||||
| * | * | ||||||
| ************************************************************************/ | ************************************************************************/ | ||||||
| static UPNP_INLINE int is_identifier_char(IN char c) | static UPNP_INLINE int is_identifier_char(IN int c) | ||||||
| { | { | ||||||
|     return c >= 32 && c <= 126 && !is_separator_char(c); |     return c >= 32 && c <= 126 && !is_separator_char(c); | ||||||
| } | } | ||||||
| @@ -169,7 +169,7 @@ static UPNP_INLINE int is_identifier_char(IN char c) | |||||||
| * Description :	Determines if the passed value is a control character | * Description :	Determines if the passed value is a control character | ||||||
| * | * | ||||||
| ************************************************************************/ | ************************************************************************/ | ||||||
| static UPNP_INLINE int is_control_char(IN char c) | static UPNP_INLINE int is_control_char(IN int c) | ||||||
| { | { | ||||||
|     return (c >= 0 && c <= 31) || c == 127; |     return (c >= 0 && c <= 31) || c == 127; | ||||||
| } | } | ||||||
| @@ -180,23 +180,20 @@ static UPNP_INLINE int is_control_char(IN char c) | |||||||
| * Parameters : | * Parameters : | ||||||
| *	IN char cc ; character to be tested for CR/LF | *	IN char cc ; character to be tested for CR/LF | ||||||
| * | * | ||||||
| * Description :	Checks to see if the passed in value is CR/LF | * Description :	Determines if the passed value is permissible in qdtext | ||||||
| * | * | ||||||
| ************************************************************************/ | ************************************************************************/ | ||||||
| static UPNP_INLINE int is_qdtext_char(IN char cc) | static UPNP_INLINE int is_qdtext_char(IN int c) | ||||||
| { | { | ||||||
|     unsigned char c = ( unsigned char )cc; | 	/* we don't check for this; it's checked in get_token() */ | ||||||
|  | 	assert( c != '"' ); | ||||||
|  |  | ||||||
|     /* we don't check for this; it's checked in get_token() */ | 	return | ||||||
|     assert( c != '"' ); | 		(c >= 32 && c != 127) || | ||||||
|  | 		c < 0 || | ||||||
|     if( ( c >= 32 && c != 127 ) || | 		c == TOKCHAR_CR || | ||||||
|         ( c == TOKCHAR_CR || c == TOKCHAR_LF || c == '\t' ) | 		c == TOKCHAR_LF || | ||||||
|          ) { | 		c == '\t'; | ||||||
|         return TRUE; |  | ||||||
|     } else { |  | ||||||
|         return FALSE; |  | ||||||
|     } |  | ||||||
| } | } | ||||||
|  |  | ||||||
| /************************************************************************ | /************************************************************************ | ||||||
| @@ -224,7 +221,7 @@ static parse_status_t scanner_get_token( | |||||||
| { | { | ||||||
| 	char *cursor; | 	char *cursor; | ||||||
| 	char *null_terminator;	/* point to null-terminator in buffer */ | 	char *null_terminator;	/* point to null-terminator in buffer */ | ||||||
| 	char c; | 	int c; | ||||||
| 	token_type_t token_type; | 	token_type_t token_type; | ||||||
| 	int got_end_quote; | 	int got_end_quote; | ||||||
|  |  | ||||||
| @@ -243,7 +240,7 @@ static parse_status_t scanner_get_token( | |||||||
| 		/* scan identifier */ | 		/* scan identifier */ | ||||||
| 		token->buf = cursor++; | 		token->buf = cursor++; | ||||||
| 		token_type = TT_IDENTIFIER; | 		token_type = TT_IDENTIFIER; | ||||||
| 		while (is_identifier_char(*cursor)) | 		while (cursor < null_terminator && is_identifier_char(*cursor)) | ||||||
| 			cursor++; | 			cursor++; | ||||||
| 		if (!scanner->entire_msg_loaded && cursor == null_terminator) | 		if (!scanner->entire_msg_loaded && cursor == null_terminator) | ||||||
| 			/* possibly more valid chars */ | 			/* possibly more valid chars */ | ||||||
| @@ -253,7 +250,7 @@ static parse_status_t scanner_get_token( | |||||||
| 	} else if (c == ' ' || c == '\t') { | 	} else if (c == ' ' || c == '\t') { | ||||||
| 		token->buf = cursor++; | 		token->buf = cursor++; | ||||||
| 		token_type = TT_WHITESPACE; | 		token_type = TT_WHITESPACE; | ||||||
| 		while (*cursor == ' ' || *cursor == '\t') | 		while (cursor < null_terminator && (*cursor == ' ' || *cursor == '\t')) | ||||||
| 			cursor++; | 			cursor++; | ||||||
| 		if (!scanner->entire_msg_loaded && cursor == null_terminator) | 		if (!scanner->entire_msg_loaded && cursor == null_terminator) | ||||||
| 			/* possibly more chars */ | 			/* possibly more chars */ | ||||||
| @@ -292,9 +289,7 @@ static parse_status_t scanner_get_token( | |||||||
| 			} else if (c == '\\') { | 			} else if (c == '\\') { | ||||||
| 				if (cursor < null_terminator) { | 				if (cursor < null_terminator) { | ||||||
| 					c = *cursor++; | 					c = *cursor++; | ||||||
| 					/*if ( !(c > 0 && c <= 127) ) */ | 					/* the char after '\\' could be ANY octet */ | ||||||
| 					if (c == 0) |  | ||||||
| 						return PARSE_FAILURE; |  | ||||||
| 				} | 				} | ||||||
| 				/* else, while loop handles incomplete buf */ | 				/* else, while loop handles incomplete buf */ | ||||||
| 			} else if (is_qdtext_char(c)) { | 			} else if (is_qdtext_char(c)) { | ||||||
| @@ -521,8 +516,9 @@ http_header_t *httpmsg_find_hdr( | |||||||
| * Description :	skips blank lines at the start of a msg. | * Description :	skips blank lines at the start of a msg. | ||||||
| * | * | ||||||
| * Return : parse_status_t ; | * Return : parse_status_t ; | ||||||
| * | *	PARSE_OK | ||||||
| * Note : | *	PARSE_INCOMPLETE		-- not enuf chars to get a token | ||||||
|  | *	PARSE_FAILURE			-- bad msg format | ||||||
| ************************************************************************/ | ************************************************************************/ | ||||||
| static UPNP_INLINE parse_status_t skip_blank_lines(INOUT scanner_t *scanner) | static UPNP_INLINE parse_status_t skip_blank_lines(INOUT scanner_t *scanner) | ||||||
| { | { | ||||||
| @@ -977,7 +973,7 @@ static parse_status_t vfmatch( | |||||||
|     save_pos = scanner->cursor; |     save_pos = scanner->cursor; | ||||||
|  |  | ||||||
|     status = PARSE_OK; |     status = PARSE_OK; | ||||||
|     while( ( ( c = *fmt_ptr++ ) != 0 ) && |     while( ( c = *fmt_ptr++ ) && | ||||||
| 	 ( status == ( parse_status_t ) PARSE_OK ) ) { | 	 ( status == ( parse_status_t ) PARSE_OK ) ) { | ||||||
|         if( c == '%' ) { |         if( c == '%' ) { | ||||||
|             c = *fmt_ptr++; |             c = *fmt_ptr++; | ||||||
| @@ -1132,6 +1128,7 @@ static parse_status_t vfmatch( | |||||||
| *   PARSE_OK | *   PARSE_OK | ||||||
| *   PARSE_NO_MATCH | *   PARSE_NO_MATCH | ||||||
| *   PARSE_INCOMPLETE | *   PARSE_INCOMPLETE | ||||||
|  | *   PARSE_FAILURE		- bad input | ||||||
| ************************************************************************/ | ************************************************************************/ | ||||||
| static parse_status_t match( | static parse_status_t match( | ||||||
| 	INOUT scanner_t *scanner, | 	INOUT scanner_t *scanner, | ||||||
| @@ -1164,6 +1161,7 @@ static parse_status_t match( | |||||||
| *   PARSE_OK | *   PARSE_OK | ||||||
| *   PARSE_NO_MATCH -- failure to match pattern 'fmt' | *   PARSE_NO_MATCH -- failure to match pattern 'fmt' | ||||||
| *   PARSE_FAILURE	-- 'str' is bad input | *   PARSE_FAILURE	-- 'str' is bad input | ||||||
|  | *   PARSE_INCOMPLETE | ||||||
| ************************************************************************/ | ************************************************************************/ | ||||||
| parse_status_t | parse_status_t | ||||||
| matchstr( IN char *str, | matchstr( IN char *str, | ||||||
| @@ -1238,6 +1236,8 @@ parser_init( OUT http_parser_t * parser ) | |||||||
| *	PARSE_OK | *	PARSE_OK | ||||||
| *	PARSE_SUCCESS | *	PARSE_SUCCESS | ||||||
| *	PARSE_FAILURE | *	PARSE_FAILURE | ||||||
|  | *	PARSE_INCOMPLETE | ||||||
|  | *	PARSE_NO_MATCH | ||||||
| ************************************************************************/ | ************************************************************************/ | ||||||
| static parse_status_t | static parse_status_t | ||||||
| parser_parse_requestline( INOUT http_parser_t * parser ) | parser_parse_requestline( INOUT http_parser_t * parser ) | ||||||
| @@ -1354,12 +1354,13 @@ parser_parse_requestline( INOUT http_parser_t * parser ) | |||||||
| * Parameters: | * Parameters: | ||||||
| *	INOUT http_parser_t* parser	; HTTP Parser object | *	INOUT http_parser_t* parser	; HTTP Parser object | ||||||
| * | * | ||||||
| * Description: Get HTTP Method, URL location and version information. | * Description: Get HTTP version information, status code and status msg. | ||||||
| * | * | ||||||
| * Returns: | * Returns: | ||||||
| *	PARSE_OK | *	PARSE_OK | ||||||
| *	PARSE_SUCCESS |  | ||||||
| *	PARSE_FAILURE | *	PARSE_FAILURE | ||||||
|  | *	PARSE_INCOMPLETE | ||||||
|  | *	PARSE_NO_MATCH | ||||||
| ************************************************************************/ | ************************************************************************/ | ||||||
| parse_status_t parser_parse_responseline(INOUT http_parser_t *parser) | parse_status_t parser_parse_responseline(INOUT http_parser_t *parser) | ||||||
| { | { | ||||||
| @@ -1431,12 +1432,14 @@ parse_status_t parser_parse_responseline(INOUT http_parser_t *parser) | |||||||
| * Parameters: | * Parameters: | ||||||
| *	INOUT http_parser_t* parser	; HTTP Parser object | *	INOUT http_parser_t* parser	; HTTP Parser object | ||||||
| * | * | ||||||
| * Description: Get HTTP Method, URL location and version information. | * Description: Read HTTP header fields. | ||||||
| * | * | ||||||
| * Returns: | * Returns: | ||||||
| *	PARSE_OK | *	PARSE_OK | ||||||
| *	PARSE_SUCCESS | *	PARSE_SUCCESS | ||||||
| *	PARSE_FAILURE | *	PARSE_FAILURE | ||||||
|  | *	PARSE_INCOMPLETE | ||||||
|  | *	PARSE_NO_MATCH | ||||||
| ************************************************************************/ | ************************************************************************/ | ||||||
| parse_status_t parser_parse_headers(INOUT http_parser_t *parser) | parse_status_t parser_parse_headers(INOUT http_parser_t *parser) | ||||||
| { | { | ||||||
| @@ -1462,6 +1465,8 @@ parse_status_t parser_parse_headers(INOUT http_parser_t *parser) | |||||||
| 		/* check end of headers */ | 		/* check end of headers */ | ||||||
| 		status = scanner_get_token(scanner, &token, &tok_type); | 		status = scanner_get_token(scanner, &token, &tok_type); | ||||||
| 		if (status != (parse_status_t)PARSE_OK) { | 		if (status != (parse_status_t)PARSE_OK) { | ||||||
|  | 			/* pushback tokens; useful only on INCOMPLETE error */ | ||||||
|  | 			scanner->cursor = save_pos; | ||||||
| 			return status; | 			return status; | ||||||
| 		} | 		} | ||||||
| 		switch (tok_type) { | 		switch (tok_type) { | ||||||
| @@ -1529,6 +1534,8 @@ parse_status_t parser_parse_headers(INOUT http_parser_t *parser) | |||||||
| 			if (membuffer_assign(&header->name_buf, token.buf, token.length) || | 			if (membuffer_assign(&header->name_buf, token.buf, token.length) || | ||||||
| 			    membuffer_assign(&header->value, hdr_value.buf, hdr_value.length)) { | 			    membuffer_assign(&header->value, hdr_value.buf, hdr_value.length)) { | ||||||
| 				/* not enough mem */ | 				/* not enough mem */ | ||||||
|  | 				membuffer_destroy(&header->value); | ||||||
|  | 				membuffer_destroy(&header->name_buf); | ||||||
| 				free(header); | 				free(header); | ||||||
| 				parser->http_error_code = HTTP_INTERNAL_SERVER_ERROR; | 				parser->http_error_code = HTTP_INTERNAL_SERVER_ERROR; | ||||||
| 				return PARSE_FAILURE; | 				return PARSE_FAILURE; | ||||||
| @@ -1536,15 +1543,13 @@ parse_status_t parser_parse_headers(INOUT http_parser_t *parser) | |||||||
| 			header->name.buf = header->name_buf.buf; | 			header->name.buf = header->name_buf.buf; | ||||||
| 			header->name.length = header->name_buf.length; | 			header->name.length = header->name_buf.length; | ||||||
| 			header->name_id = header_id; | 			header->name_id = header_id; | ||||||
| 			ListAddTail(&parser->msg.headers, header); | 			if (!ListAddTail(&parser->msg.headers, header)) { | ||||||
| 			/*NNS:          ret = dlist_append( &parser->msg.headers, header ); */ | 				membuffer_destroy(&header->value); | ||||||
| /** TODO: remove that? Yes as ret is not set anymore | 				membuffer_destroy(&header->name_buf); | ||||||
| 			if (ret == UPNP_E_OUTOF_MEMORY) { | 				free(header); | ||||||
| 				parser->http_error_code = | 				parser->http_error_code = HTTP_INTERNAL_SERVER_ERROR; | ||||||
| 				    HTTP_INTERNAL_SERVER_ERROR; |  | ||||||
| 				return PARSE_FAILURE; | 				return PARSE_FAILURE; | ||||||
| 			} | 			} | ||||||
| end of remove that? */ |  | ||||||
| 		} else if (hdr_value.length > (size_t)0) { | 		} else if (hdr_value.length > (size_t)0) { | ||||||
| 			/* append value to existing header */ | 			/* append value to existing header */ | ||||||
| 			/* append space */ | 			/* append space */ | ||||||
| @@ -1575,7 +1580,6 @@ end of remove that? */ | |||||||
| * | * | ||||||
| * Returns: | * Returns: | ||||||
| *	 PARSE_INCOMPLETE | *	 PARSE_INCOMPLETE | ||||||
| *	 PARSE_FAILURE -- entity length > content-length value |  | ||||||
| *	 PARSE_SUCCESS | *	 PARSE_SUCCESS | ||||||
| ************************************************************************/ | ************************************************************************/ | ||||||
| static UPNP_INLINE parse_status_t | static UPNP_INLINE parse_status_t | ||||||
| @@ -1622,9 +1626,10 @@ parser_parse_entity_using_clen( INOUT http_parser_t * parser ) | |||||||
| * Description: Read data in the chunks | * Description: Read data in the chunks | ||||||
| * | * | ||||||
| * Returns: | * Returns: | ||||||
|  | *	 PARSE_CONTINUE_1 | ||||||
| *	 PARSE_INCOMPLETE | *	 PARSE_INCOMPLETE | ||||||
| *	 PARSE_FAILURE -- entity length > content-length value | *	 PARSE_FAILURE | ||||||
| *	 PARSE_SUCCESS | *	 PARSE_NO_MATCH | ||||||
| ************************************************************************/ | ************************************************************************/ | ||||||
| static UPNP_INLINE parse_status_t parser_parse_chunky_body( | static UPNP_INLINE parse_status_t parser_parse_chunky_body( | ||||||
| 	INOUT http_parser_t *parser) | 	INOUT http_parser_t *parser) | ||||||
| @@ -1666,8 +1671,9 @@ static UPNP_INLINE parse_status_t parser_parse_chunky_body( | |||||||
| * Description: Read headers at the end of the chunked entity | * Description: Read headers at the end of the chunked entity | ||||||
| * | * | ||||||
| * Returns: | * Returns: | ||||||
|  | *	 PARSE_NO_MATCH | ||||||
| *	 PARSE_INCOMPLETE | *	 PARSE_INCOMPLETE | ||||||
| *	 PARSE_FAILURE -- entity length > content-length value | *	 PARSE_FAILURE | ||||||
| *	 PARSE_SUCCESS | *	 PARSE_SUCCESS | ||||||
| ************************************************************************/ | ************************************************************************/ | ||||||
| static UPNP_INLINE parse_status_t | static UPNP_INLINE parse_status_t | ||||||
| @@ -1682,14 +1688,14 @@ parser_parse_chunky_headers( INOUT http_parser_t * parser ) | |||||||
|         /* finally, done with the whole msg */ |         /* finally, done with the whole msg */ | ||||||
|         parser->position = POS_COMPLETE; |         parser->position = POS_COMPLETE; | ||||||
|  |  | ||||||
|         /* save entity start ptr as the very last thing to do */ |  | ||||||
|         parser->msg.entity.buf = parser->msg.msg.buf + |  | ||||||
|             parser->entity_start_position; |  | ||||||
|  |  | ||||||
|         membuffer_delete( &parser->msg.msg, save_pos, |         membuffer_delete( &parser->msg.msg, save_pos, | ||||||
|                           ( parser->scanner.cursor - save_pos ) ); |                           ( parser->scanner.cursor - save_pos ) ); | ||||||
|         parser->scanner.cursor = save_pos; |         parser->scanner.cursor = save_pos; | ||||||
|  |  | ||||||
|  |         /* save entity start ptr as the very last thing to do */ | ||||||
|  |         parser->msg.entity.buf = parser->msg.msg.buf + | ||||||
|  |             parser->entity_start_position; | ||||||
|  |  | ||||||
|         return PARSE_SUCCESS; |         return PARSE_SUCCESS; | ||||||
|     } else { |     } else { | ||||||
|         return status; |         return status; | ||||||
| @@ -1702,12 +1708,12 @@ parser_parse_chunky_headers( INOUT http_parser_t * parser ) | |||||||
| * Parameters: | * Parameters: | ||||||
| *	INOUT http_parser_t* parser	- HTTP Parser Object | *	INOUT http_parser_t* parser	- HTTP Parser Object | ||||||
| * | * | ||||||
| * Description: Read headers at the end of the chunked entity | * Description: Read entity using chunked transfer encoding | ||||||
| * | * | ||||||
| * Returns: | * Returns: | ||||||
| *	 PARSE_INCOMPLETE | *	 PARSE_INCOMPLETE | ||||||
| *	 PARSE_FAILURE -- entity length > content-length value | *	 PARSE_FAILURE | ||||||
| *	 PARSE_SUCCESS | *	 PARSE_NO_MATCH | ||||||
| *	 PARSE_CONTINUE_1 | *	 PARSE_CONTINUE_1 | ||||||
| ************************************************************************/ | ************************************************************************/ | ||||||
| static UPNP_INLINE parse_status_t | static UPNP_INLINE parse_status_t | ||||||
| @@ -1756,7 +1762,7 @@ parser_parse_chunky_entity( INOUT http_parser_t * parser ) | |||||||
| * Parameters: | * Parameters: | ||||||
| *	INOUT http_parser_t* parser	; HTTP Parser object | *	INOUT http_parser_t* parser	; HTTP Parser object | ||||||
| * | * | ||||||
| * Description: Read headers at the end of the chunked entity | * Description: Keep reading entity until the connection is closed. | ||||||
| * | * | ||||||
| * Returns: | * Returns: | ||||||
| *	 PARSE_INCOMPLETE_ENTITY | *	 PARSE_INCOMPLETE_ENTITY | ||||||
| @@ -1793,9 +1799,9 @@ parser_parse_entity_until_close( INOUT http_parser_t * parser ) | |||||||
| * Description: Determines method to read entity | * Description: Determines method to read entity | ||||||
| * | * | ||||||
| * Returns: | * Returns: | ||||||
| *	 PARSE_OK | *	 PARSE_CONTINUE_1 | ||||||
| * 	 PARSE_FAILURE | * 	 PARSE_FAILURE | ||||||
| *	 PARSE_COMPLETE	-- no more reading to do | *	 PARSE_SUCCESS	-- no more reading to do | ||||||
| ************************************************************************/ | ************************************************************************/ | ||||||
| UPNP_INLINE parse_status_t | UPNP_INLINE parse_status_t | ||||||
| parser_get_entity_read_method( INOUT http_parser_t * parser ) | parser_get_entity_read_method( INOUT http_parser_t * parser ) | ||||||
| @@ -1891,17 +1897,19 @@ parser_get_entity_read_method( INOUT http_parser_t * parser ) | |||||||
| * Parameters: | * Parameters: | ||||||
| *	INOUT http_parser_t* parser	; HTTP Parser object | *	INOUT http_parser_t* parser	; HTTP Parser object | ||||||
| * | * | ||||||
| * Description: Determines method to read entity | * Description: Read HTTP entity body | ||||||
| * | * | ||||||
| * Returns: | * Returns: | ||||||
| *	 PARSE_OK |  | ||||||
| * 	 PARSE_FAILURE | * 	 PARSE_FAILURE | ||||||
| *	 PARSE_COMPLETE	-- no more reading to do | * 	 PARSE_NO_MATCH | ||||||
|  | * 	 PARSE_INCOMPLETE | ||||||
|  | * 	 PARSE_INCOMPLETE_ENTITY | ||||||
|  | *	 PARSE_SUCCESS	-- no more reading to do | ||||||
| ************************************************************************/ | ************************************************************************/ | ||||||
| UPNP_INLINE parse_status_t | UPNP_INLINE parse_status_t | ||||||
| parser_parse_entity( INOUT http_parser_t * parser ) | parser_parse_entity( INOUT http_parser_t * parser ) | ||||||
| { | { | ||||||
|     parse_status_t status = PARSE_OK; |     parse_status_t status; | ||||||
|  |  | ||||||
|     assert( parser->position == POS_ENTITY ); |     assert( parser->position == POS_ENTITY ); | ||||||
|  |  | ||||||
| @@ -1932,6 +1940,7 @@ parser_parse_entity( INOUT http_parser_t * parser ) | |||||||
|                 break; |                 break; | ||||||
|  |  | ||||||
|             default: |             default: | ||||||
|  | 		status = PARSE_FAILURE; | ||||||
|                 assert( 0 ); |                 assert( 0 ); | ||||||
|         } |         } | ||||||
|  |  | ||||||
| @@ -1992,7 +2001,11 @@ parser_response_init( OUT http_parser_t * parser, | |||||||
| *	parser object the actual parsing function is invoked | *	parser object the actual parsing function is invoked | ||||||
| * | * | ||||||
| * Returns: | * Returns: | ||||||
| *	 void | *	PARSE_SUCCESS | ||||||
|  | *	PARSE_FAILURE | ||||||
|  | *	PARSE_INCOMPLETE | ||||||
|  | *	PARSE_INCOMPLETE_ENTITY | ||||||
|  | *	PARSE_NO_MATCH | ||||||
| ************************************************************************/ | ************************************************************************/ | ||||||
| parse_status_t | parse_status_t | ||||||
| parser_parse( INOUT http_parser_t * parser ) | parser_parse( INOUT http_parser_t * parser ) | ||||||
| @@ -2047,11 +2060,14 @@ parser_parse( INOUT http_parser_t * parser ) | |||||||
| *					buffer | *					buffer | ||||||
| *	IN size_t buf_length ;		Size of the buffer | *	IN size_t buf_length ;		Size of the buffer | ||||||
| * | * | ||||||
| * Description: The parser function. Depending on the position of the | * Description: Append date to HTTP parser, and do the parsing. | ||||||
| *	parser object the actual parsing function is invoked |  | ||||||
| * | * | ||||||
| * Returns: | * Returns: | ||||||
| *	 void | *	PARSE_SUCCESS | ||||||
|  | *	PARSE_FAILURE | ||||||
|  | *	PARSE_INCOMPLETE | ||||||
|  | *	PARSE_INCOMPLETE_ENTITY | ||||||
|  | *	PARSE_NO_MATCH | ||||||
| ************************************************************************/ | ************************************************************************/ | ||||||
| parse_status_t | parse_status_t | ||||||
| parser_append( INOUT http_parser_t * parser, | parser_append( INOUT http_parser_t * parser, | ||||||
|   | |||||||
| @@ -126,7 +126,7 @@ static int Check_Connect_And_Wait_Connection( | |||||||
| #ifndef WIN32 | #ifndef WIN32 | ||||||
| 			} else { | 			} else { | ||||||
| 				int valopt = 0; | 				int valopt = 0; | ||||||
| 				socklen_t len = 0; | 				socklen_t len = sizeof(valopt); | ||||||
| 				if (getsockopt(sock, SOL_SOCKET, SO_ERROR, (void *) &valopt, &len) < 0) { | 				if (getsockopt(sock, SOL_SOCKET, SO_ERROR, (void *) &valopt, &len) < 0) { | ||||||
| 					/* failed to read delayed error */ | 					/* failed to read delayed error */ | ||||||
| 					return -1; | 					return -1; | ||||||
| @@ -164,6 +164,18 @@ static int private_connect( | |||||||
| #endif /* UPNP_ENABLE_BLOCKING_TCP_CONNECTIONS */ | #endif /* UPNP_ENABLE_BLOCKING_TCP_CONNECTIONS */ | ||||||
| } | } | ||||||
|  |  | ||||||
|  | #ifdef WIN32 | ||||||
|  | struct tm *http_gmtime_r(const time_t *clock, struct tm *result) | ||||||
|  | { | ||||||
|  | 	if (clock == NULL || *clock < 0 || result == NULL) | ||||||
|  | 		return NULL; | ||||||
|  |  | ||||||
|  | 	/* gmtime in VC runtime is thread safe. */ | ||||||
|  | 	*result = *gmtime(clock); | ||||||
|  | 	return result; | ||||||
|  | } | ||||||
|  | #endif | ||||||
|  |  | ||||||
| int http_FixUrl(IN uri_type *url, OUT uri_type *fixed_url) | int http_FixUrl(IN uri_type *url, OUT uri_type *fixed_url) | ||||||
| { | { | ||||||
| 	const char *temp_path = "/"; | 	const char *temp_path = "/"; | ||||||
| @@ -310,6 +322,7 @@ int http_RecvMessage( | |||||||
| 				ret = 0; | 				ret = 0; | ||||||
| 				goto ExitFunction; | 				goto ExitFunction; | ||||||
| 			case PARSE_FAILURE: | 			case PARSE_FAILURE: | ||||||
|  | 			case PARSE_NO_MATCH: | ||||||
| 				*http_error_code = parser->http_error_code; | 				*http_error_code = parser->http_error_code; | ||||||
| 				line = __LINE__; | 				line = __LINE__; | ||||||
| 				ret = UPNP_E_BAD_HTTPMSG; | 				ret = UPNP_E_BAD_HTTPMSG; | ||||||
| @@ -363,27 +376,32 @@ ExitFunction: | |||||||
|  |  | ||||||
| int http_SendMessage(SOCKINFO *info, int *TimeOut, const char *fmt, ...) | int http_SendMessage(SOCKINFO *info, int *TimeOut, const char *fmt, ...) | ||||||
| { | { | ||||||
|  | #if EXCLUDE_WEB_SERVER == 0 | ||||||
| 	FILE *Fp; | 	FILE *Fp; | ||||||
| 	va_list argp; |  | ||||||
| 	struct SendInstruction *Instr = NULL; | 	struct SendInstruction *Instr = NULL; | ||||||
| 	char *buf = NULL; |  | ||||||
| 	char *filename = NULL; | 	char *filename = NULL; | ||||||
| 	char *file_buf = NULL; | 	char *file_buf = NULL; | ||||||
| 	char *ChunkBuf = NULL; | 	char *ChunkBuf = NULL; | ||||||
|  | 	/* 10 byte allocated for chunk header. */ | ||||||
| 	char Chunk_Header[CHUNK_HEADER_SIZE]; | 	char Chunk_Header[CHUNK_HEADER_SIZE]; | ||||||
|  | 	size_t num_read; | ||||||
|  | 	size_t amount_to_be_read = (size_t)0; | ||||||
|  | 	size_t Data_Buf_Size = WEB_SERVER_BUF_SIZE; | ||||||
|  | #endif /* EXCLUDE_WEB_SERVER */ | ||||||
|  | 	va_list argp; | ||||||
|  | 	char *buf = NULL; | ||||||
| 	char c; | 	char c; | ||||||
| 	int nw; | 	int nw; | ||||||
| 	int RetVal = 0; | 	int RetVal = 0; | ||||||
| 	size_t buf_length; | 	size_t buf_length; | ||||||
| 	size_t num_read; |  | ||||||
| 	size_t num_written; | 	size_t num_written; | ||||||
| 	size_t amount_to_be_read = (size_t)0; |  | ||||||
| 	/* 10 byte allocated for chunk header. */ |  | ||||||
| 	size_t Data_Buf_Size = WEB_SERVER_BUF_SIZE; |  | ||||||
|  |  | ||||||
|  | #if EXCLUDE_WEB_SERVER == 0 | ||||||
| 	memset(Chunk_Header, 0, sizeof(Chunk_Header)); | 	memset(Chunk_Header, 0, sizeof(Chunk_Header)); | ||||||
|  | #endif /* EXCLUDE_WEB_SERVER */ | ||||||
| 	va_start(argp, fmt); | 	va_start(argp, fmt); | ||||||
| 	while ((c = *fmt++) != 0) { | 	while ((c = *fmt++)) { | ||||||
|  | #if EXCLUDE_WEB_SERVER == 0 | ||||||
| 		if (c == 'I') { | 		if (c == 'I') { | ||||||
| 			Instr = va_arg(argp, struct SendInstruction *); | 			Instr = va_arg(argp, struct SendInstruction *); | ||||||
| 			if (Instr->ReadSendSize >= 0) | 			if (Instr->ReadSendSize >= 0) | ||||||
| @@ -463,13 +481,12 @@ int http_SendMessage(SOCKINFO *info, int *TimeOut, const char *fmt, ...) | |||||||
| 					memset(Chunk_Header, 0, | 					memset(Chunk_Header, 0, | ||||||
| 						sizeof(Chunk_Header)); | 						sizeof(Chunk_Header)); | ||||||
| 					rc = snprintf(Chunk_Header, | 					rc = snprintf(Chunk_Header, | ||||||
| 						sizeof(Chunk_Header) - strlen ("\r\n"), | 						sizeof(Chunk_Header), | ||||||
| 						"%" PRIzx, num_read); | 						"%" PRIzx "\r\n", num_read); | ||||||
| 					if (rc < 0 || (unsigned int) rc >= sizeof(Chunk_Header) - strlen ("\r\n")) { | 					if (rc < 0 || (unsigned int) rc >= sizeof(Chunk_Header)) { | ||||||
| 						RetVal = UPNP_E_INTERNAL_ERROR; | 						RetVal = UPNP_E_INTERNAL_ERROR; | ||||||
| 						goto Cleanup_File; | 						goto Cleanup_File; | ||||||
| 					} | 					} | ||||||
| 					strncat(Chunk_Header, "\r\n", strlen ("\r\n")); |  | ||||||
| 					/* Copy the chunk size header  */ | 					/* Copy the chunk size header  */ | ||||||
| 					memcpy(file_buf - strlen(Chunk_Header), | 					memcpy(file_buf - strlen(Chunk_Header), | ||||||
| 					       Chunk_Header, | 					       Chunk_Header, | ||||||
| @@ -505,7 +522,9 @@ Cleanup_File: | |||||||
| 				fclose(Fp); | 				fclose(Fp); | ||||||
| 			} | 			} | ||||||
| 			goto ExitFunction; | 			goto ExitFunction; | ||||||
| 		} else if (c == 'b') { | 		} else | ||||||
|  | #endif /* EXCLUDE_WEB_SERVER */ | ||||||
|  | 		if (c == 'b') { | ||||||
| 			/* memory buffer */ | 			/* memory buffer */ | ||||||
| 			buf = va_arg(argp, char *); | 			buf = va_arg(argp, char *); | ||||||
| 			buf_length = va_arg(argp, size_t); | 			buf_length = va_arg(argp, size_t); | ||||||
| @@ -527,7 +546,9 @@ Cleanup_File: | |||||||
|  |  | ||||||
| ExitFunction: | ExitFunction: | ||||||
| 	va_end(argp); | 	va_end(argp); | ||||||
|  | #if EXCLUDE_WEB_SERVER == 0 | ||||||
| 	free(ChunkBuf); | 	free(ChunkBuf); | ||||||
|  | #endif /* EXCLUDE_WEB_SERVER */ | ||||||
| 	return RetVal; | 	return RetVal; | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -1185,7 +1206,6 @@ static int ReadResponseLineAndHeaders( | |||||||
| 			return num_read; | 			return num_read; | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	done = 0; |  | ||||||
| 	status = parser_parse_headers(parser); | 	status = parser_parse_headers(parser); | ||||||
| 	if ((status == (parse_status_t)PARSE_OK) && | 	if ((status == (parse_status_t)PARSE_OK) && | ||||||
| 		(parser->position == (parser_pos_t)POS_ENTITY)) | 		(parser->position == (parser_pos_t)POS_ENTITY)) | ||||||
| @@ -1615,6 +1635,7 @@ int http_MakeMessage(membuffer *buf, int http_major_version, | |||||||
| 	size_t length; | 	size_t length; | ||||||
| 	time_t *loc_time; | 	time_t *loc_time; | ||||||
| 	time_t curr_time; | 	time_t curr_time; | ||||||
|  | 	struct tm date_storage; | ||||||
| 	struct tm *date; | 	struct tm *date; | ||||||
| 	const char *start_str; | 	const char *start_str; | ||||||
| 	const char *end_str; | 	const char *end_str; | ||||||
| @@ -1636,7 +1657,7 @@ int http_MakeMessage(membuffer *buf, int http_major_version, | |||||||
|  |  | ||||||
| 	memset(tempbuf, 0, sizeof(tempbuf)); | 	memset(tempbuf, 0, sizeof(tempbuf)); | ||||||
| 	va_start(argp, fmt); | 	va_start(argp, fmt); | ||||||
| 	while ((c = *fmt++) != 0) { | 	while ((c = *fmt++)) { | ||||||
| 		if (c == 's') { | 		if (c == 's') { | ||||||
| 			/* C string */ | 			/* C string */ | ||||||
| 			s = (char *)va_arg(argp, char *); | 			s = (char *)va_arg(argp, char *); | ||||||
| @@ -1702,7 +1723,7 @@ int http_MakeMessage(membuffer *buf, int http_major_version, | |||||||
| 				loc_time = (time_t *)va_arg(argp, time_t *); | 				loc_time = (time_t *)va_arg(argp, time_t *); | ||||||
| 			} | 			} | ||||||
| 			assert(loc_time); | 			assert(loc_time); | ||||||
| 			date = gmtime(loc_time); | 			date = http_gmtime_r(loc_time, &date_storage); | ||||||
| 			if (date == NULL) | 			if (date == NULL) | ||||||
| 				goto error_handler; | 				goto error_handler; | ||||||
| 			rc = snprintf(tempbuf, sizeof(tempbuf), | 			rc = snprintf(tempbuf, sizeof(tempbuf), | ||||||
| @@ -2118,6 +2139,9 @@ int http_OpenHttpGetEx( | |||||||
| /* 'info' should have a size of at least 100 bytes */ | /* 'info' should have a size of at least 100 bytes */ | ||||||
| void get_sdk_info(OUT char *info, IN size_t infoSize) | void get_sdk_info(OUT char *info, IN size_t infoSize) | ||||||
| { | { | ||||||
|  | #ifdef UPNP_ENABLE_UNSPECIFIED_SERVER | ||||||
|  | 	snprintf(info, infoSize, "Unspecified, UPnP/1.0, Unspecified\r\n"); | ||||||
|  | #else /* UPNP_ENABLE_UNSPECIFIED_SERVER */ | ||||||
| #ifdef WIN32 | #ifdef WIN32 | ||||||
| 	OSVERSIONINFO versioninfo; | 	OSVERSIONINFO versioninfo; | ||||||
| 	versioninfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); | 	versioninfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); | ||||||
| @@ -2141,5 +2165,6 @@ void get_sdk_info(OUT char *info, IN size_t infoSize) | |||||||
| 		"%s/%s, UPnP/1.0, Portable SDK for UPnP devices/" | 		"%s/%s, UPnP/1.0, Portable SDK for UPnP devices/" | ||||||
| 		PACKAGE_VERSION "\r\n", sys_info.sysname, sys_info.release); | 		PACKAGE_VERSION "\r\n", sys_info.sysname, sys_info.release); | ||||||
| #endif | #endif | ||||||
|  | #endif /* UPNP_ENABLE_UNSPECIFIED_SERVER */ | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -88,14 +88,19 @@ static const char *Http4xxStr = | |||||||
|     "Unsupported Media Type\0" |     "Unsupported Media Type\0" | ||||||
|     "Requested Range Not Satisfiable\0" "Expectation Failed\0"; |     "Requested Range Not Satisfiable\0" "Expectation Failed\0"; | ||||||
|  |  | ||||||
| #define NUM_5XX_CODES   6 | #define NUM_5XX_CODES   11 | ||||||
| static const char *Http5xxCodes[NUM_5XX_CODES]; | static const char *Http5xxCodes[NUM_5XX_CODES]; | ||||||
| static const char *Http5xxStr = | static const char *Http5xxStr = | ||||||
|     "Internal Server Error\0" |     "Internal Server Error\0" | ||||||
|     "Not Implemented\0" |     "Not Implemented\0" | ||||||
|     "Bad Gateway\0" |     "Bad Gateway\0" | ||||||
|     "Service Unavailable\0" |     "Service Unavailable\0" | ||||||
|     "Gateway Timeout\0" "HTTP Version Not Supported\0"; |     "Gateway Timeout\0" | ||||||
|  |     "HTTP Version Not Supported\0" | ||||||
|  |     "Variant Also Negotiates\0" | ||||||
|  |     "Insufficient Storage\0" | ||||||
|  |     "Loop Detected\0" | ||||||
|  |     "\0" "Not Extended\0"; | ||||||
|  |  | ||||||
| static int gInitialized = FALSE; | static int gInitialized = FALSE; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -129,9 +129,23 @@ static const char *gMediaTypes[] = { | |||||||
| #define TEXT_INDEX        5 | #define TEXT_INDEX        5 | ||||||
|  |  | ||||||
| /* general */ | /* general */ | ||||||
| #define NUM_MEDIA_TYPES       69 | #define NUM_MEDIA_TYPES       70 | ||||||
| #define NUM_HTTP_HEADER_NAMES 33 | #define NUM_HTTP_HEADER_NAMES 33 | ||||||
|  |  | ||||||
|  | #define ASCTIME_R_BUFFER_SIZE 26 | ||||||
|  | #ifdef WIN32 | ||||||
|  | static char *web_server_asctime_r(const struct tm *tm, char *buf) | ||||||
|  | { | ||||||
|  | 	if (tm == NULL || buf == NULL) | ||||||
|  | 		return NULL; | ||||||
|  |  | ||||||
|  | 	asctime_s(buf, ASCTIME_R_BUFFER_SIZE, tm); | ||||||
|  | 	return buf; | ||||||
|  | } | ||||||
|  | #else | ||||||
|  | #define web_server_asctime_r asctime_r | ||||||
|  | #endif | ||||||
|  |  | ||||||
| /* sorted by file extension; must have 'NUM_MEDIA_TYPES' extensions */ | /* sorted by file extension; must have 'NUM_MEDIA_TYPES' extensions */ | ||||||
| static const char *gEncodedMediaTypes = | static const char *gEncodedMediaTypes = | ||||||
| 	"aif\0" AUDIO_STR "aiff\0" | 	"aif\0" AUDIO_STR "aiff\0" | ||||||
| @@ -142,6 +156,7 @@ static const char *gEncodedMediaTypes = | |||||||
| 	"au\0" AUDIO_STR "basic\0" | 	"au\0" AUDIO_STR "basic\0" | ||||||
| 	"avi\0" VIDEO_STR "msvideo\0" | 	"avi\0" VIDEO_STR "msvideo\0" | ||||||
| 	"bmp\0" IMAGE_STR "bmp\0" | 	"bmp\0" IMAGE_STR "bmp\0" | ||||||
|  | 	"css\0" TEXT_STR "css\0" | ||||||
| 	"dcr\0" APPLICATION_STR "x-director\0" | 	"dcr\0" APPLICATION_STR "x-director\0" | ||||||
| 	"dib\0" IMAGE_STR "bmp\0" | 	"dib\0" IMAGE_STR "bmp\0" | ||||||
| 	"dir\0" APPLICATION_STR "x-director\0" | 	"dir\0" APPLICATION_STR "x-director\0" | ||||||
| @@ -330,7 +345,7 @@ static UPNP_INLINE int get_content_type( | |||||||
| 	} | 	} | ||||||
| 	(*content_type) = ixmlCloneDOMString(temp); | 	(*content_type) = ixmlCloneDOMString(temp); | ||||||
| 	free(temp); | 	free(temp); | ||||||
| 	if (!content_type) | 	if (!(*content_type)) | ||||||
| 		return UPNP_E_OUTOF_MEMORY; | 		return UPNP_E_OUTOF_MEMORY; | ||||||
|  |  | ||||||
| 	return 0; | 	return 0; | ||||||
| @@ -477,8 +492,6 @@ int web_server_init() | |||||||
|  |  | ||||||
| void web_server_destroy(void) | void web_server_destroy(void) | ||||||
| { | { | ||||||
| 	int ret; |  | ||||||
|  |  | ||||||
| 	if (bWebServerState == WEB_SERVER_ENABLED) { | 	if (bWebServerState == WEB_SERVER_ENABLED) { | ||||||
| 		membuffer_destroy(&gDocumentRootDir); | 		membuffer_destroy(&gDocumentRootDir); | ||||||
| 		alias_release(&gAliasDoc); | 		alias_release(&gAliasDoc); | ||||||
| @@ -487,8 +500,7 @@ void web_server_destroy(void) | |||||||
| 		memset(&gAliasDoc, 0, sizeof(struct xml_alias_t)); | 		memset(&gAliasDoc, 0, sizeof(struct xml_alias_t)); | ||||||
| 		ithread_mutex_unlock(&gWebMutex); | 		ithread_mutex_unlock(&gWebMutex); | ||||||
|  |  | ||||||
| 		ret = ithread_mutex_destroy(&gWebMutex); | 		ithread_mutex_destroy(&gWebMutex); | ||||||
| 		assert(ret == 0); |  | ||||||
| 		bWebServerState = WEB_SERVER_DISABLED; | 		bWebServerState = WEB_SERVER_DISABLED; | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| @@ -512,6 +524,8 @@ static int get_file_info( | |||||||
| 	struct stat s; | 	struct stat s; | ||||||
| 	FILE *fp; | 	FILE *fp; | ||||||
| 	int rc = 0; | 	int rc = 0; | ||||||
|  | 	struct tm date; | ||||||
|  | 	char buffer[ASCTIME_R_BUFFER_SIZE]; | ||||||
|  |  | ||||||
| 	ixmlFreeDOMString(info->content_type);	 | 	ixmlFreeDOMString(info->content_type);	 | ||||||
| 	info->content_type = NULL; | 	info->content_type = NULL; | ||||||
| @@ -535,7 +549,8 @@ static int get_file_info( | |||||||
| 	UpnpPrintf(UPNP_INFO, HTTP, __FILE__, __LINE__, | 	UpnpPrintf(UPNP_INFO, HTTP, __FILE__, __LINE__, | ||||||
| 		"file info: %s, length: %lld, last_mod=%s readable=%d\n", | 		"file info: %s, length: %lld, last_mod=%s readable=%d\n", | ||||||
| 		filename, (long long)info->file_length, | 		filename, (long long)info->file_length, | ||||||
| 		asctime(gmtime(&info->last_modified)), info->is_readable); | 		web_server_asctime_r(http_gmtime_r(&info->last_modified, &date), buffer), | ||||||
|  | 		info->is_readable); | ||||||
|  |  | ||||||
| 	return rc; | 	return rc; | ||||||
| } | } | ||||||
| @@ -757,7 +772,7 @@ static int GetNextRange( | |||||||
|  * |  * | ||||||
|  * \return |  * \return | ||||||
|  * \li \c HTTP_BAD_REQUEST |  * \li \c HTTP_BAD_REQUEST | ||||||
|  * \li \c UPNP_E_OUTOF_MEMORY |  * \li \c HTTP_INTERNAL_SERVER_ERROR | ||||||
|  * \li \c HTTP_REQUEST_RANGE_NOT_SATISFIABLE |  * \li \c HTTP_REQUEST_RANGE_NOT_SATISFIABLE | ||||||
|  * \li \c HTTP_OK |  * \li \c HTTP_OK | ||||||
|  */ |  */ | ||||||
| @@ -778,11 +793,9 @@ static int CreateHTTPRangeResponseHeader( | |||||||
| 	Instr->ReadSendSize = FileLength; | 	Instr->ReadSendSize = FileLength; | ||||||
| 	if (!ByteRangeSpecifier) | 	if (!ByteRangeSpecifier) | ||||||
| 		return HTTP_BAD_REQUEST; | 		return HTTP_BAD_REQUEST; | ||||||
| 	RangeInput = malloc(strlen(ByteRangeSpecifier) + 1); | 	RangeInput = strdup(ByteRangeSpecifier); | ||||||
| 	if (!RangeInput) | 	if (!RangeInput) | ||||||
| 		return UPNP_E_OUTOF_MEMORY; | 		return HTTP_INTERNAL_SERVER_ERROR; | ||||||
| 	memset(RangeInput, 0, strlen(ByteRangeSpecifier) + 1); |  | ||||||
| 	strncpy(RangeInput, ByteRangeSpecifier, strlen(ByteRangeSpecifier)); |  | ||||||
| 	/* CONTENT-RANGE: bytes 222-3333/4000  HTTP_PARTIAL_CONTENT */ | 	/* CONTENT-RANGE: bytes 222-3333/4000  HTTP_PARTIAL_CONTENT */ | ||||||
| 	if (StrStr(RangeInput, "bytes") == NULL || | 	if (StrStr(RangeInput, "bytes") == NULL || | ||||||
| 	    (Ptr = StrStr(RangeInput, "=")) == NULL) { | 	    (Ptr = StrStr(RangeInput, "=")) == NULL) { | ||||||
| @@ -816,7 +829,7 @@ static int CreateHTTPRangeResponseHeader( | |||||||
| 				(int64_t)FileLength); | 				(int64_t)FileLength); | ||||||
| 			if (rc < 0 || (unsigned int) rc >= sizeof(Instr->RangeHeader)) { | 			if (rc < 0 || (unsigned int) rc >= sizeof(Instr->RangeHeader)) { | ||||||
| 				free(RangeInput); | 				free(RangeInput); | ||||||
| 				return UPNP_E_OUTOF_MEMORY; | 				return HTTP_INTERNAL_SERVER_ERROR; | ||||||
| 			} | 			} | ||||||
| 		} else if (FirstByte >= 0 && LastByte == -1 | 		} else if (FirstByte >= 0 && LastByte == -1 | ||||||
| 			   && FirstByte < FileLength) { | 			   && FirstByte < FileLength) { | ||||||
| @@ -831,7 +844,7 @@ static int CreateHTTPRangeResponseHeader( | |||||||
| 				(int64_t)FileLength); | 				(int64_t)FileLength); | ||||||
| 			if (rc < 0 || (unsigned int) rc >= sizeof(Instr->RangeHeader)) { | 			if (rc < 0 || (unsigned int) rc >= sizeof(Instr->RangeHeader)) { | ||||||
| 				free(RangeInput); | 				free(RangeInput); | ||||||
| 				return UPNP_E_OUTOF_MEMORY; | 				return HTTP_INTERNAL_SERVER_ERROR; | ||||||
| 			} | 			} | ||||||
| 		} else if (FirstByte == -1 && LastByte > 0) { | 		} else if (FirstByte == -1 && LastByte > 0) { | ||||||
| 			if (LastByte >= FileLength) { | 			if (LastByte >= FileLength) { | ||||||
| @@ -850,13 +863,13 @@ static int CreateHTTPRangeResponseHeader( | |||||||
| 					sizeof(Instr->RangeHeader), | 					sizeof(Instr->RangeHeader), | ||||||
| 					"CONTENT-RANGE: bytes %" PRId64 | 					"CONTENT-RANGE: bytes %" PRId64 | ||||||
| 					"-%" PRId64 "/%" PRId64 "\r\n", | 					"-%" PRId64 "/%" PRId64 "\r\n", | ||||||
| 					(int64_t)(FileLength - LastByte + 1), | 					(int64_t)(FileLength - LastByte), | ||||||
| 					(int64_t)FileLength, | 					(int64_t)FileLength - 1, | ||||||
| 					(int64_t)FileLength); | 					(int64_t)FileLength); | ||||||
| 			} | 			} | ||||||
| 			if (rc < 0 || (unsigned int) rc >= sizeof(Instr->RangeHeader)) { | 			if (rc < 0 || (unsigned int) rc >= sizeof(Instr->RangeHeader)) { | ||||||
| 				free(RangeInput); | 				free(RangeInput); | ||||||
| 				return UPNP_E_OUTOF_MEMORY; | 				return HTTP_INTERNAL_SERVER_ERROR; | ||||||
| 			} | 			} | ||||||
| 		} else { | 		} else { | ||||||
| 			free(RangeInput); | 			free(RangeInput); | ||||||
| @@ -877,7 +890,7 @@ static int CreateHTTPRangeResponseHeader( | |||||||
|  * |  * | ||||||
|  * \return |  * \return | ||||||
|  * \li \c HTTP_BAD_REQUEST |  * \li \c HTTP_BAD_REQUEST | ||||||
|  * \li \c UPNP_E_OUTOF_MEMORY |  * \li \c HTTP_INTERNAL_SERVER_ERROR | ||||||
|  * \li \c HTTP_REQUEST_RANGE_NOT_SATISFIABLE |  * \li \c HTTP_REQUEST_RANGE_NOT_SATISFIABLE | ||||||
|  * \li \c HTTP_OK |  * \li \c HTTP_OK | ||||||
|  */ |  */ | ||||||
| @@ -898,7 +911,7 @@ static int CheckOtherHTTPHeaders( | |||||||
|  |  | ||||||
| 	TmpBuf = (char *)malloc(TmpBufSize); | 	TmpBuf = (char *)malloc(TmpBufSize); | ||||||
| 	if (!TmpBuf) | 	if (!TmpBuf) | ||||||
| 		return UPNP_E_OUTOF_MEMORY; | 		return HTTP_INTERNAL_SERVER_ERROR; | ||||||
| 	node = ListHead(&Req->headers); | 	node = ListHead(&Req->headers); | ||||||
| 	while (node != NULL) { | 	while (node != NULL) { | ||||||
| 		header = (http_header_t *) node->item; | 		header = (http_header_t *) node->item; | ||||||
| @@ -911,7 +924,7 @@ static int CheckOtherHTTPHeaders( | |||||||
| 			TmpBufSize = header->value.length + 1; | 			TmpBufSize = header->value.length + 1; | ||||||
| 			TmpBuf = (char *)malloc(TmpBufSize); | 			TmpBuf = (char *)malloc(TmpBufSize); | ||||||
| 			if (!TmpBuf) | 			if (!TmpBuf) | ||||||
| 				return UPNP_E_OUTOF_MEMORY; | 				return HTTP_INTERNAL_SERVER_ERROR; | ||||||
| 		} | 		} | ||||||
| 		memcpy(TmpBuf, header->value.buf, header->value.length); | 		memcpy(TmpBuf, header->value.buf, header->value.length); | ||||||
| 		TmpBuf[header->value.length] = '\0'; | 		TmpBuf[header->value.length] = '\0'; | ||||||
| @@ -1000,8 +1013,11 @@ static int CheckOtherHTTPHeaders( | |||||||
|  * |  * | ||||||
|  * \return |  * \return | ||||||
|  * \li \c HTTP_BAD_REQUEST |  * \li \c HTTP_BAD_REQUEST | ||||||
|  * \li \c UPNP_E_OUTOF_MEMORY |  * \li \c HTTP_INTERNAL_SERVER_ERROR | ||||||
|  * \li \c HTTP_REQUEST_RANGE_NOT_SATISFIABLE |  * \li \c HTTP_REQUEST_RANGE_NOT_SATISFIABLE | ||||||
|  |  * \li \c HTTP_FORBIDDEN | ||||||
|  |  * \li \c HTTP_NOT_FOUND | ||||||
|  |  * \li \c HTTP_NOT_ACCEPTABLE | ||||||
|  * \li \c HTTP_OK |  * \li \c HTTP_OK | ||||||
|  */ |  */ | ||||||
| static int process_request( | static int process_request( | ||||||
| @@ -1188,14 +1204,15 @@ static int process_request( | |||||||
| 	} | 	} | ||||||
| 	RespInstr->ReadSendSize = finfo.file_length; | 	RespInstr->ReadSendSize = finfo.file_length; | ||||||
| 	/* Check other header field. */ | 	/* Check other header field. */ | ||||||
| 	if ((err_code = | 	if ((code = | ||||||
| 	     CheckOtherHTTPHeaders(req, RespInstr, | 	     CheckOtherHTTPHeaders(req, RespInstr, | ||||||
| 				   finfo.file_length)) != HTTP_OK) { | 				   finfo.file_length)) != HTTP_OK) { | ||||||
|  | 		err_code = code; | ||||||
| 		goto error_handler; | 		goto error_handler; | ||||||
| 	} | 	} | ||||||
| 	if (req->method == HTTPMETHOD_POST) { | 	if (req->method == HTTPMETHOD_POST) { | ||||||
| 		*rtype = RESP_POST; | 		*rtype = RESP_POST; | ||||||
| 		err_code = UPNP_E_SUCCESS; | 		err_code = HTTP_OK; | ||||||
| 		goto error_handler; | 		goto error_handler; | ||||||
| 	} | 	} | ||||||
| 	/*extra_headers = UpnpFileInfo_get_ExtraHeaders(finfo); */ | 	/*extra_headers = UpnpFileInfo_get_ExtraHeaders(finfo); */ | ||||||
| @@ -1233,7 +1250,6 @@ static int process_request( | |||||||
| 		} | 		} | ||||||
| 	} else if (RespInstr->IsRangeActive && !RespInstr->IsChunkActive) { | 	} else if (RespInstr->IsRangeActive && !RespInstr->IsChunkActive) { | ||||||
| 		/* Content-Range: bytes 222-3333/4000  HTTP_PARTIAL_CONTENT */ | 		/* Content-Range: bytes 222-3333/4000  HTTP_PARTIAL_CONTENT */ | ||||||
| 		/* Transfer-Encoding: chunked */ |  | ||||||
| 		if (http_MakeMessage(headers, resp_major, resp_minor, | 		if (http_MakeMessage(headers, resp_major, resp_minor, | ||||||
| 		    "R" "N" "T" "GLD" "s" "tcS" "Xc" "sCc", | 		    "R" "N" "T" "GLD" "s" "tcS" "Xc" "sCc", | ||||||
| 		    HTTP_PARTIAL_CONTENT,	/* status code */ | 		    HTTP_PARTIAL_CONTENT,	/* status code */ | ||||||
| @@ -1247,7 +1263,6 @@ static int process_request( | |||||||
| 			goto error_handler; | 			goto error_handler; | ||||||
| 		} | 		} | ||||||
| 	} else if (!RespInstr->IsRangeActive && RespInstr->IsChunkActive) { | 	} else if (!RespInstr->IsRangeActive && RespInstr->IsChunkActive) { | ||||||
| 		/* Content-Range: bytes 222-3333/4000  HTTP_PARTIAL_CONTENT */ |  | ||||||
| 		/* Transfer-Encoding: chunked */ | 		/* Transfer-Encoding: chunked */ | ||||||
| 		if (http_MakeMessage(headers, resp_major, resp_minor, | 		if (http_MakeMessage(headers, resp_major, resp_minor, | ||||||
| 		    "RK" "TLD" "s" "tcS" "Xc" "sCc", | 		    "RK" "TLD" "s" "tcS" "Xc" "sCc", | ||||||
| @@ -1262,8 +1277,6 @@ static int process_request( | |||||||
| 	} else { | 	} else { | ||||||
| 		/* !RespInstr->IsRangeActive && !RespInstr->IsChunkActive */ | 		/* !RespInstr->IsRangeActive && !RespInstr->IsChunkActive */ | ||||||
| 		if (RespInstr->ReadSendSize >= 0) { | 		if (RespInstr->ReadSendSize >= 0) { | ||||||
| 			/* Content-Range: bytes 222-3333/4000  HTTP_PARTIAL_CONTENT */ |  | ||||||
| 			/* Transfer-Encoding: chunked */ |  | ||||||
| 			if (http_MakeMessage(headers, resp_major, resp_minor, | 			if (http_MakeMessage(headers, resp_major, resp_minor, | ||||||
| 			    "R" "N" "TLD" "s" "tcS" "Xc" "sCc", | 			    "R" "N" "TLD" "s" "tcS" "Xc" "sCc", | ||||||
| 			    HTTP_OK,	/* status code */ | 			    HTTP_OK,	/* status code */ | ||||||
| @@ -1277,8 +1290,6 @@ static int process_request( | |||||||
| 				goto error_handler; | 				goto error_handler; | ||||||
| 			} | 			} | ||||||
| 		} else { | 		} else { | ||||||
| 			/* Content-Range: bytes 222-3333/4000  HTTP_PARTIAL_CONTENT */ |  | ||||||
| 			/* Transfer-Encoding: chunked */ |  | ||||||
| 			if (http_MakeMessage(headers, resp_major, resp_minor, | 			if (http_MakeMessage(headers, resp_major, resp_minor, | ||||||
| 			    "R" "TLD" "s" "tcS" "Xc" "sCc", | 			    "R" "TLD" "s" "tcS" "Xc" "sCc", | ||||||
| 			    HTTP_OK,	/* status code */ | 			    HTTP_OK,	/* status code */ | ||||||
| @@ -1308,12 +1319,12 @@ static int process_request( | |||||||
| 	if (req->method == HTTPMETHOD_SIMPLEGET) { | 	if (req->method == HTTPMETHOD_SIMPLEGET) { | ||||||
| 		membuffer_destroy(headers); | 		membuffer_destroy(headers); | ||||||
| 	} | 	} | ||||||
| 	err_code = UPNP_E_SUCCESS; | 	err_code = HTTP_OK; | ||||||
|  |  | ||||||
|  error_handler: |  error_handler: | ||||||
| 	free(request_doc); | 	free(request_doc); | ||||||
| 	ixmlFreeDOMString(finfo.content_type); | 	ixmlFreeDOMString(finfo.content_type); | ||||||
| 	if (err_code != UPNP_E_SUCCESS && alias_grabbed) { | 	if (err_code != HTTP_OK && alias_grabbed) { | ||||||
| 		alias_release(alias); | 		alias_release(alias); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| @@ -1326,7 +1337,8 @@ static int process_request( | |||||||
|  * \return |  * \return | ||||||
|  * \li \c HTTP_INTERNAL_SERVER_ERROR |  * \li \c HTTP_INTERNAL_SERVER_ERROR | ||||||
|  * \li \c HTTP_UNAUTHORIZED |  * \li \c HTTP_UNAUTHORIZED | ||||||
|  * \li \c HTTP_REQUEST_RANGE_NOT_SATISFIABLE |  * \li \c HTTP_BAD_REQUEST | ||||||
|  |  * \li \c HTTP_SERVICE_UNAVAILABLE | ||||||
|  * \li \c HTTP_OK |  * \li \c HTTP_OK | ||||||
|  */ |  */ | ||||||
| static int http_RecvPostMessage( | static int http_RecvPostMessage( | ||||||
| @@ -1412,7 +1424,7 @@ static int http_RecvPostMessage( | |||||||
| 					goto ExitFunction; | 					goto ExitFunction; | ||||||
| 				} | 				} | ||||||
| 			} else { | 			} else { | ||||||
| 				ret_code = num_read; | 				ret_code = HTTP_SERVICE_UNAVAILABLE; | ||||||
| 				goto ExitFunction; | 				goto ExitFunction; | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| @@ -1424,7 +1436,7 @@ static int http_RecvPostMessage( | |||||||
| 		       &parser->msg.msg.buf[parser->entity_start_position + entity_offset], | 		       &parser->msg.msg.buf[parser->entity_start_position + entity_offset], | ||||||
| 		       Data_Buf_Size); | 		       Data_Buf_Size); | ||||||
| 		entity_offset += Data_Buf_Size; | 		entity_offset += Data_Buf_Size; | ||||||
| 		if (Instr->IsVirtualFile) { | 		if (Instr && Instr->IsVirtualFile) { | ||||||
| 			int n = virtualDirCallback.write(Fp, Buf, Data_Buf_Size); | 			int n = virtualDirCallback.write(Fp, Buf, Data_Buf_Size); | ||||||
| 			if (n < 0) { | 			if (n < 0) { | ||||||
| 				ret_code = HTTP_INTERNAL_SERVER_ERROR; | 				ret_code = HTTP_INTERNAL_SERVER_ERROR; | ||||||
| @@ -1475,7 +1487,7 @@ void web_server_callback(http_parser_t *parser, INOUT http_message_t *req, | |||||||
| 	/*the type of request. */ | 	/*the type of request. */ | ||||||
| 	ret = process_request(req, &rtype, &headers, &filename, &xmldoc, | 	ret = process_request(req, &rtype, &headers, &filename, &xmldoc, | ||||||
| 		&RespInstr); | 		&RespInstr); | ||||||
| 	if (ret != UPNP_E_SUCCESS) { | 	if (ret != HTTP_OK) { | ||||||
| 		/* send error code */ | 		/* send error code */ | ||||||
| 		http_SendStatusResponse(info, ret, req->major_version, | 		http_SendStatusResponse(info, ret, req->major_version, | ||||||
| 			req->minor_version); | 			req->minor_version); | ||||||
| @@ -1517,7 +1529,7 @@ void web_server_callback(http_parser_t *parser, INOUT http_message_t *req, | |||||||
| 			/* Send response. */ | 			/* Send response. */ | ||||||
| 			http_MakeMessage(&headers, 1, 1, | 			http_MakeMessage(&headers, 1, 1, | ||||||
| 				"RTLSXcCc", | 				"RTLSXcCc", | ||||||
| 				ret, "text/html", X_USER_AGENT); | 				ret, "text/html", &RespInstr, X_USER_AGENT); | ||||||
| 			http_SendMessage(info, &timeout, "b", | 			http_SendMessage(info, &timeout, "b", | ||||||
| 				headers.buf, headers.length); | 				headers.buf, headers.length); | ||||||
| 			break; | 			break; | ||||||
|   | |||||||
| @@ -387,7 +387,7 @@ static int parse_hostport( | |||||||
|  |  | ||||||
| 			ret = getaddrinfo(srvname, NULL, &hints, &res0); | 			ret = getaddrinfo(srvname, NULL, &hints, &res0); | ||||||
| 			if (ret == 0) { | 			if (ret == 0) { | ||||||
| 				for (res = res0; res && !ret; res = res->ai_next) { | 				for (res = res0; res; res = res->ai_next) { | ||||||
| 					switch (res->ai_family) { | 					switch (res->ai_family) { | ||||||
| 					case AF_INET: | 					case AF_INET: | ||||||
| 					case AF_INET6: | 					case AF_INET6: | ||||||
| @@ -395,12 +395,10 @@ static int parse_hostport( | |||||||
| 						memcpy(&out->IPaddress, | 						memcpy(&out->IPaddress, | ||||||
| 						       res->ai_addr, | 						       res->ai_addr, | ||||||
| 						       res->ai_addrlen); | 						       res->ai_addrlen); | ||||||
| 						ret=1; | 						goto found; | ||||||
| 						break; |  | ||||||
| 					default: |  | ||||||
| 						break; |  | ||||||
| 					} | 					} | ||||||
| 				} | 				} | ||||||
|  | found: | ||||||
| 				freeaddrinfo(res0); | 				freeaddrinfo(res0); | ||||||
| 				if (res == NULL) | 				if (res == NULL) | ||||||
| 					/* Didn't find an AF_INET or AF_INET6 address. */ | 					/* Didn't find an AF_INET or AF_INET6 address. */ | ||||||
| @@ -512,68 +510,81 @@ int remove_escaped_chars(INOUT char *in, INOUT size_t *size) | |||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
| int remove_dots(char *in, size_t size) | static UPNP_INLINE int is_end_path(char c) { | ||||||
|  |     switch (c) { | ||||||
|  | 	case '?': | ||||||
|  | 	case '#': | ||||||
|  | 	case '\0': | ||||||
|  | 	    return 1; | ||||||
|  |     } | ||||||
|  |     return 0; | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | /* This function directly implements the "Remove Dot Segments" | ||||||
|  |  * algorithm described in RFC 3986 section 5.2.4. */ | ||||||
|  | int remove_dots(char *buf, size_t size) | ||||||
| { | { | ||||||
|     char *copyTo = in; |     char *in = buf; | ||||||
|     char *copyFrom = in; |     char *out = buf; | ||||||
|     char *max = in + size; |     char *max = buf + size; | ||||||
|     char **Segments = NULL; |  | ||||||
|     int lastSegment = -1; |  | ||||||
|  |  | ||||||
|     Segments = malloc( sizeof( char * ) * size ); |     while (!is_end_path(in[0])) { | ||||||
|  | 	assert (buf <= out); | ||||||
|  | 	assert (out <= in); | ||||||
|  | 	assert (in < max); | ||||||
|  |  | ||||||
|     if( Segments == NULL ) |         /* case 2.A: */ | ||||||
|         return UPNP_E_OUTOF_MEMORY; |         if (strncmp(in, "./", 2) == 0) { | ||||||
|  |             in += 2; | ||||||
|     Segments[0] = NULL; |         } else if (strncmp(in, "../", 3) == 0) { | ||||||
|     UpnpPrintf( UPNP_ALL, API, __FILE__, __LINE__, |             in += 3; | ||||||
|         "REMOVE_DOTS: before: %s\n", in ); |         /* case 2.B: */ | ||||||
|     while( ( copyFrom < max ) && ( *copyFrom != '?' ) |         } else if (strncmp(in, "/./", 3) == 0) { | ||||||
|            && ( *copyFrom != '#' ) ) { |             in += 2; | ||||||
|  |         } else if (strncmp(in, "/.", 2) == 0 && is_end_path(in[2])) { | ||||||
|         if( ( ( *copyFrom ) == '.' ) |             in += 1; | ||||||
|             && ( ( copyFrom == in ) || ( *( copyFrom - 1 ) == '/' ) ) ) { | 	    in[0] = '/'; | ||||||
|             if( ( copyFrom + 1 == max ) |         /* case 2.C: */ | ||||||
|                 || ( *( copyFrom + 1 ) == '/' ) ) { |         } else if (strncmp(in, "/../", 4) == 0 || (strncmp(in, "/..", 3) == 0 && is_end_path(in[3]))) { | ||||||
|  |             /* Make the next character in the input buffer a '/': */ | ||||||
|                 copyFrom += 2; |             if (is_end_path(in[3])) { /* terminating "/.." case */ | ||||||
|                 continue; |                 in += 2; | ||||||
|             } else if( ( *( copyFrom + 1 ) == '.' ) |                 in[0] = '/'; | ||||||
|                        && ( ( copyFrom + 2 == max ) |             } else { /* "/../" prefix case */ | ||||||
|                             || ( *( copyFrom + 2 ) == '/' ) ) ) { |                 in += 3; | ||||||
|                 copyFrom += 3; |  | ||||||
|  |  | ||||||
|                 if( lastSegment > 0 ) { |  | ||||||
|                     copyTo = Segments[--lastSegment]; |  | ||||||
|                 } else { |  | ||||||
|                     free( Segments ); |  | ||||||
|                     /*TRACE("ERROR RESOLVING URL, ../ at ROOT"); */ |  | ||||||
|                     return UPNP_E_INVALID_URL; |  | ||||||
|                 } |  | ||||||
|                 continue; |  | ||||||
|             } |             } | ||||||
|         } |             /* Trim the last component from the output buffer, or empty it. */ | ||||||
|  |             while (buf < out) | ||||||
|         if( ( *copyFrom ) == '/' ) { | 		if (*--out == '/') | ||||||
|  | 		    break; | ||||||
|             lastSegment++; | #ifdef DEBUG | ||||||
|             Segments[lastSegment] = copyTo + 1; | 	    if (out < in) | ||||||
|         } | 		out[0] = '\0'; | ||||||
|         ( *copyTo ) = ( *copyFrom ); | #endif | ||||||
|         copyTo++; |         /* case 2.D: */ | ||||||
|         copyFrom++; |         } else if (strncmp(in, ".", 1) == 0 && is_end_path(in[1])) { | ||||||
|     } |             in += 1; | ||||||
|     if( copyFrom < max ) { | 	} else if (strncmp(in, "..", 2) == 0 && is_end_path(in[2])) { | ||||||
|         while( copyFrom < max ) { |             in += 2; | ||||||
|             ( *copyTo ) = ( *copyFrom ); |         /* case 2.E */ | ||||||
|             copyTo++; |         } else { | ||||||
|             copyFrom++; |             /* move initial '/' character (if any) */ | ||||||
|  |             if (in[0] == '/') | ||||||
|  | 		*out++ = *in++; | ||||||
|  | 	    /* move first segment up to, but not including, the next '/' character */ | ||||||
|  | 	    while (in < max && in[0] != '/' && !is_end_path(in[0])) | ||||||
|  | 		*out++ = *in++; | ||||||
|  | #ifdef DEBUG | ||||||
|  | 	    if (out < in) | ||||||
|  | 		out[0] = '\0'; | ||||||
|  | #endif | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|     ( *copyTo ) = 0; |     while (in < max) | ||||||
|     free( Segments ); | 	*out++ = *in++; | ||||||
|     UpnpPrintf( UPNP_ALL, API, __FILE__, __LINE__, |     if (out < max) | ||||||
|         "REMOVE_DOTS: after: %s\n", in ); | 	out[0] = '\0'; | ||||||
|     return UPNP_E_SUCCESS; |     return UPNP_E_SUCCESS; | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -582,115 +593,113 @@ char *resolve_rel_url(char *base_url, char *rel_url) | |||||||
| { | { | ||||||
|     uri_type base; |     uri_type base; | ||||||
|     uri_type rel; |     uri_type rel; | ||||||
|  |     int rv; | ||||||
|  |  | ||||||
|     size_t i = (size_t)0; |     if (!base_url) { | ||||||
|     char *finger = NULL; |         if (!rel_url) | ||||||
|  |  | ||||||
|     char *last_slash = NULL; |  | ||||||
|  |  | ||||||
|     char *out = NULL; |  | ||||||
|  |  | ||||||
|     if( base_url && rel_url ) { |  | ||||||
|         out = |  | ||||||
|             ( char * )malloc( strlen( base_url ) + strlen( rel_url ) + (size_t)2 ); |  | ||||||
|     } else { |  | ||||||
|         if( rel_url ) |  | ||||||
|             return strdup( rel_url ); |  | ||||||
|         else |  | ||||||
|             return NULL; |             return NULL; | ||||||
|  |         return strdup(rel_url); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     if( out == NULL ) { |     size_t len_rel = strlen(rel_url); | ||||||
|  |     if (parse_uri(rel_url, len_rel, &rel) != HTTP_SUCCESS) | ||||||
|         return NULL; |         return NULL; | ||||||
|  |     if (rel.type == (enum uriType)ABSOLUTE) | ||||||
|  |         return strdup(rel_url); | ||||||
|  |  | ||||||
|  |     size_t len_base = strlen(base_url); | ||||||
|  |     if ((parse_uri(base_url, len_base, &base) != HTTP_SUCCESS) | ||||||
|  |             || (base.type != (enum uriType)ABSOLUTE)) | ||||||
|  |         return NULL; | ||||||
|  |     if (len_rel == (size_t)0) | ||||||
|  |         return strdup(base_url); | ||||||
|  |  | ||||||
|  |     size_t len = len_base + len_rel + (size_t)2; | ||||||
|  |     char *out = (char *)malloc(len); | ||||||
|  |     if (out == NULL) | ||||||
|  |         return NULL; | ||||||
|  |     memset(out, 0, len); | ||||||
|  |     char *out_finger = out; | ||||||
|  |  | ||||||
|  |     /* scheme */ | ||||||
|  |     rv = snprintf(out_finger, len, "%.*s:", (int)base.scheme.size, base.scheme.buff); | ||||||
|  |     if (rv < 0 || rv >= len) | ||||||
|  |         goto error; | ||||||
|  |     out_finger += rv; | ||||||
|  |     len -= rv; | ||||||
|  |  | ||||||
|  |     /* authority */ | ||||||
|  |     if (rel.hostport.text.size > (size_t)0) { | ||||||
|  |         rv = snprintf(out_finger, len, "%s", rel_url); | ||||||
|  |         if (rv < 0 || rv >= len) | ||||||
|  |             goto error; | ||||||
|  |         return out; | ||||||
|  |     } | ||||||
|  |     if (base.hostport.text.size > (size_t)0) { | ||||||
|  | 	rv = snprintf(out_finger, len, "//%.*s", (int)base.hostport.text.size, base.hostport.text.buff); | ||||||
|  | 	if (rv < 0 || rv >= len) | ||||||
|  | 	    goto error; | ||||||
|  | 	out_finger += rv; | ||||||
|  | 	len -= rv; | ||||||
|     } |     } | ||||||
|     memset( out, 0, strlen( base_url ) + strlen( rel_url ) + (size_t)2 ); |  | ||||||
|  |  | ||||||
|     if( ( parse_uri( rel_url, strlen( rel_url ), &rel ) ) == HTTP_SUCCESS ) { |     /* path */ | ||||||
|  |     char *path = out_finger; | ||||||
|         if( rel.type == ( enum uriType) ABSOLUTE ) { |     if (rel.path_type == (enum pathType)ABS_PATH) { | ||||||
|  | 	rv = snprintf(out_finger, len, "%s", rel_url); | ||||||
|             strncpy( out, rel_url, strlen ( rel_url ) ); |     } else if (base.pathquery.size == (size_t)0) { | ||||||
|         } else { | 	rv = snprintf(out_finger, len, "/%s", rel_url); | ||||||
|  |  | ||||||
|             if( ( parse_uri( base_url, strlen( base_url ), &base ) == |  | ||||||
|                   HTTP_SUCCESS ) |  | ||||||
|                 && ( base.type == ( enum uriType ) ABSOLUTE ) ) { |  | ||||||
|  |  | ||||||
|                 if( strlen( rel_url ) == (size_t)0 ) { |  | ||||||
|                     strncpy( out, base_url, strlen ( base_url ) ); |  | ||||||
|                 } else { |  | ||||||
|                     char *out_finger = out; |  | ||||||
|                     assert( base.scheme.size + (size_t)1 /* ':' */ <= strlen ( base_url ) ); |  | ||||||
|                     memcpy( out, base.scheme.buff, base.scheme.size ); |  | ||||||
|                     out_finger += base.scheme.size; |  | ||||||
|                     ( *out_finger ) = ':'; |  | ||||||
|                     out_finger++; |  | ||||||
|  |  | ||||||
|                     if( rel.hostport.text.size > (size_t)0 ) { |  | ||||||
|                         snprintf( out_finger, strlen( rel_url ) + (size_t)1, |  | ||||||
|                                   "%s", rel_url ); |  | ||||||
|                     } else { |  | ||||||
|                         if( base.hostport.text.size > (size_t)0 ) { |  | ||||||
|                             assert( base.scheme.size + (size_t)1 |  | ||||||
|                                 + base.hostport.text.size + (size_t)2 /* "//" */ <= strlen ( base_url ) ); |  | ||||||
|                             memcpy( out_finger, "//", (size_t)2 ); |  | ||||||
|                             out_finger += 2; |  | ||||||
|                             memcpy( out_finger, base.hostport.text.buff, |  | ||||||
|                                     base.hostport.text.size ); |  | ||||||
|                             out_finger += base.hostport.text.size; |  | ||||||
|                         } |  | ||||||
|  |  | ||||||
|                         if( rel.path_type == ( enum pathType ) ABS_PATH ) { |  | ||||||
|                             strncpy( out_finger, rel_url, strlen ( rel_url ) ); |  | ||||||
|  |  | ||||||
|                         } else { |  | ||||||
|                             char temp_path = '/'; |  | ||||||
|  |  | ||||||
|                             if( base.pathquery.size == (size_t)0 ) { |  | ||||||
|                                 base.pathquery.size = (size_t)1; |  | ||||||
|                                 base.pathquery.buff = &temp_path; |  | ||||||
|                             } |  | ||||||
|  |  | ||||||
|                             assert( base.scheme.size + (size_t)1 + base.hostport.text.size + (size_t)2 |  | ||||||
|                                 + base.pathquery.size <= strlen ( base_url ) + (size_t)1 /* temp_path */); |  | ||||||
|                             finger = out_finger; |  | ||||||
|                             last_slash = finger; |  | ||||||
|                             i = (size_t)0; |  | ||||||
|                             while( ( i < base.pathquery.size ) && |  | ||||||
|                                    ( base.pathquery.buff[i] != '?' ) ) { |  | ||||||
|                                 ( *finger ) = base.pathquery.buff[i]; |  | ||||||
|                                 if( base.pathquery.buff[i] == '/' ) |  | ||||||
|                                     last_slash = finger + 1; |  | ||||||
|                                 i++; |  | ||||||
|                                 finger++; |  | ||||||
|  |  | ||||||
|                             } |  | ||||||
|                             strncpy( last_slash, rel_url, strlen ( rel_url ) ); |  | ||||||
|                             if( remove_dots( out_finger, |  | ||||||
|                                              strlen( out_finger ) ) != |  | ||||||
|                                 UPNP_E_SUCCESS ) { |  | ||||||
|                                 free(out); |  | ||||||
|                                 /* free(rel_url); */ |  | ||||||
|                                 return NULL; |  | ||||||
|                             } |  | ||||||
|                         } |  | ||||||
|  |  | ||||||
|                     } |  | ||||||
|                 } |  | ||||||
|             } else { |  | ||||||
|                 free(out); |  | ||||||
|                 /* free(rel_url); */ |  | ||||||
|                 return NULL; |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
|     } else { |     } else { | ||||||
|         free(out); | 	if (rel.pathquery.size == (size_t)0) { | ||||||
|         /* free(rel_url); */           | 	    rv = snprintf(out_finger, len, "%.*s", (int)base.pathquery.size, base.pathquery.buff); | ||||||
|         return NULL; | 	} else { | ||||||
|     } | 	    if (len < base.pathquery.size) | ||||||
|  | 		goto error; | ||||||
|  | 	    size_t i = (size_t)0, prefix = (size_t)1; | ||||||
|  | 	    while (i < base.pathquery.size) { | ||||||
|  | 		out_finger[i] = base.pathquery.buff[i]; | ||||||
|  | 		switch (base.pathquery.buff[i++]) { | ||||||
|  | 		    case '/': | ||||||
|  | 			prefix = i; | ||||||
|  | 			/* fall-through */ | ||||||
|  | 		    default: | ||||||
|  | 			continue; | ||||||
|  | 		    case '?': /* query */ | ||||||
|  | 			if (rel.pathquery.buff[0] == '?') | ||||||
|  | 			    prefix = --i; | ||||||
|  | 		} | ||||||
|  | 		break; | ||||||
|  | 	    } | ||||||
|  | 	    out_finger += prefix; | ||||||
|  | 	    len -= prefix; | ||||||
|  | 	    rv = snprintf(out_finger, len, "%.*s", (int)rel.pathquery.size, rel.pathquery.buff); | ||||||
|  | 	} | ||||||
|  | 	if (rv < 0 || rv >= len) | ||||||
|  | 	    goto error; | ||||||
|  | 	out_finger += rv; | ||||||
|  | 	len -= rv; | ||||||
|  |  | ||||||
|  | 	/* fragment */ | ||||||
|  | 	if (rel.fragment.size > (size_t)0) | ||||||
|  | 	    rv = snprintf(out_finger, len, "#%.*s", (int)rel.fragment.size, rel.fragment.buff); | ||||||
|  | 	else if (base.fragment.size > (size_t)0) | ||||||
|  | 	    rv = snprintf(out_finger, len, "#%.*s", (int)base.fragment.size, base.fragment.buff); | ||||||
|  | 	else | ||||||
|  | 	    rv = 0; | ||||||
|  |     } | ||||||
|  |     if (rv < 0 || rv >= len) | ||||||
|  | 	goto error; | ||||||
|  |     out_finger += rv; | ||||||
|  |     len -= rv; | ||||||
|  |  | ||||||
|  |     if (remove_dots(path, out_finger - path) != UPNP_E_SUCCESS) | ||||||
|  | 	goto error; | ||||||
|  |  | ||||||
|     /* free(rel_url); */ |  | ||||||
|     return out; |     return out; | ||||||
|  |  | ||||||
|  | error: | ||||||
|  |     free(out); | ||||||
|  |     return NULL; | ||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -301,15 +301,16 @@ FindServiceEventURLPath( service_table * table, | |||||||
|  |  | ||||||
|     if( ( table ) |     if( ( table ) | ||||||
|         && |         && | ||||||
|         ( parse_uri |         ( parse_uri( eventURLPath, | ||||||
|           ( eventURLPath, strlen( eventURLPath ), &parsed_url_in ) ) ) { |                      strlen( eventURLPath ), | ||||||
|  |                      &parsed_url_in ) == HTTP_SUCCESS ) ) { | ||||||
|  |  | ||||||
|         finger = table->serviceList; |         finger = table->serviceList; | ||||||
|         while( finger ) { |         while( finger ) { | ||||||
|             if( finger->eventURL ) |             if( finger->eventURL ) | ||||||
|                 if( ( parse_uri |                 if( ( parse_uri | ||||||
|                       ( finger->eventURL, strlen( finger->eventURL ), |                       ( finger->eventURL, strlen( finger->eventURL ), | ||||||
|                         &parsed_url ) ) ) { |                         &parsed_url ) == HTTP_SUCCESS ) ) { | ||||||
|  |  | ||||||
|                     if( !token_cmp |                     if( !token_cmp | ||||||
|                         ( &parsed_url.pathquery, |                         ( &parsed_url.pathquery, | ||||||
| @@ -354,13 +355,13 @@ FindServiceControlURLPath( service_table * table, | |||||||
|         && |         && | ||||||
|         ( parse_uri |         ( parse_uri | ||||||
|           ( controlURLPath, strlen( controlURLPath ), |           ( controlURLPath, strlen( controlURLPath ), | ||||||
|             &parsed_url_in ) ) ) { |             &parsed_url_in ) == HTTP_SUCCESS ) ) { | ||||||
|         finger = table->serviceList; |         finger = table->serviceList; | ||||||
|         while( finger ) { |         while( finger ) { | ||||||
|             if( finger->controlURL ) |             if( finger->controlURL ) | ||||||
|                 if( ( parse_uri |                 if( ( parse_uri | ||||||
|                       ( finger->controlURL, strlen( finger->controlURL ), |                       ( finger->controlURL, strlen( finger->controlURL ), | ||||||
|                         &parsed_url ) ) ) { |                         &parsed_url ) == HTTP_SUCCESS) ) { | ||||||
|                     if( !token_cmp |                     if( !token_cmp | ||||||
|                         ( &parsed_url.pathquery, |                         ( &parsed_url.pathquery, | ||||||
|                           &parsed_url_in.pathquery ) ) |                           &parsed_url_in.pathquery ) ) | ||||||
| @@ -926,7 +927,6 @@ removeServiceTable( IXML_Node * node, | |||||||
|     long unsigned int i = 0lu; |     long unsigned int i = 0lu; | ||||||
|  |  | ||||||
|     if( getSubElement( "root", node, &root ) ) { |     if( getSubElement( "root", node, &root ) ) { | ||||||
|         current_service = in->serviceList; |  | ||||||
|         start_search = in->serviceList; |         start_search = in->serviceList; | ||||||
|         deviceList = |         deviceList = | ||||||
|             ixmlElement_getElementsByTagName( ( IXML_Element * ) root, |             ixmlElement_getElementsByTagName( ( IXML_Element * ) root, | ||||||
|   | |||||||
| @@ -444,9 +444,9 @@ | |||||||
| /* configure --enable-ssdp */ | /* configure --enable-ssdp */ | ||||||
| #undef EXCLUDE_SSDP | #undef EXCLUDE_SSDP | ||||||
| #if UPNP_HAVE_SSDP | #if UPNP_HAVE_SSDP | ||||||
| #       define EXCLUDE_SSSDP 0 | #       define EXCLUDE_SSDP 0 | ||||||
| #else | #else | ||||||
| #       define EXCLUDE_SSSDP 1 | #       define EXCLUDE_SSDP 1 | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /* configure --enable-soap */ | /* configure --enable-soap */ | ||||||
| @@ -476,7 +476,7 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  |  | ||||||
| #if EXCLUDE_GENA == 1 && EXCLUDE_SOAP == 1 && EXCLUDE_WEB_SERVER == 1 | #if EXCLUDE_SSDP == 1 && EXCLUDE_GENA == 1 && EXCLUDE_SOAP == 1 && EXCLUDE_WEB_SERVER == 1 | ||||||
| #	undef  EXCLUDE_MINISERVER | #	undef  EXCLUDE_MINISERVER | ||||||
| #	define EXCLUDE_MINISERVER 1 | #	define EXCLUDE_MINISERVER 1 | ||||||
| #	if INTERNAL_WEB_SERVER | #	if INTERNAL_WEB_SERVER | ||||||
| @@ -485,7 +485,7 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  |  | ||||||
| #if EXCLUDE_GENA == 0 || EXCLUDE_SOAP == 0 || EXCLUDE_WEB_SERVER == 0 | #if EXCLUDE_SSDP == 0 || EXCLUDE_GENA == 0 || EXCLUDE_SOAP == 0 || EXCLUDE_WEB_SERVER == 0 | ||||||
| #	undef  EXCLUDE_MINISERVER | #	undef  EXCLUDE_MINISERVER | ||||||
| #	define EXCLUDE_MINISERVER 0 | #	define EXCLUDE_MINISERVER 0 | ||||||
| #	if EXCLUDE_WEB_SERVER == 0 && !defined INTERNAL_WEB_SERVER | #	if EXCLUDE_WEB_SERVER == 0 && !defined INTERNAL_WEB_SERVER | ||||||
|   | |||||||
| @@ -49,6 +49,12 @@ | |||||||
| extern "C" { | extern "C" { | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  | #ifdef WIN32 | ||||||
|  | struct tm *http_gmtime_r(const time_t *clock, struct tm *result); | ||||||
|  | #else | ||||||
|  | #define http_gmtime_r gmtime_r | ||||||
|  | #endif | ||||||
|  |  | ||||||
| int http_CancelHttpGet(IN void *Handle); | int http_CancelHttpGet(IN void *Handle); | ||||||
|  |  | ||||||
| /*! | /*! | ||||||
|   | |||||||
| @@ -79,6 +79,10 @@ | |||||||
| #define HTTP_SERVICE_UNAVAILABLE            503 | #define HTTP_SERVICE_UNAVAILABLE            503 | ||||||
| #define HTTP_GATEWAY_TIMEOUT                504 | #define HTTP_GATEWAY_TIMEOUT                504 | ||||||
| #define HTTP_HTTP_VERSION_NOT_SUPPORTED     505 | #define HTTP_HTTP_VERSION_NOT_SUPPORTED     505 | ||||||
|  | #define HTTP_VARIANT_ALSO_NEGOTIATES        506 | ||||||
|  | #define HTTP_INSUFFICIENT_STORAGE           507 | ||||||
|  | #define HTTP_LOOP_DETECTED                  508 | ||||||
|  | #define HTTP_NOT_EXTENDED                   510 | ||||||
|  |  | ||||||
| /* HTTP lib error codes */ | /* HTTP lib error codes */ | ||||||
|  |  | ||||||
|   | |||||||
| @@ -37,8 +37,12 @@ | |||||||
| #include "UpnpInet.h" | #include "UpnpInet.h" | ||||||
|  |  | ||||||
| #ifdef WIN32 | #ifdef WIN32 | ||||||
|  | 	#include <errno.h> | ||||||
|  |  | ||||||
| 	typedef int socklen_t; | 	typedef int socklen_t; | ||||||
| 	#define EAFNOSUPPORT 97 | 	#ifndef EAFNOSUPPORT	/* VS2010 has this defined */ | ||||||
|  | 		#define EAFNOSUPPORT 97 | ||||||
|  | 	#endif | ||||||
| #else | #else | ||||||
| 	#include <sys/time.h> | 	#include <sys/time.h> | ||||||
| 	#include <sys/wait.h> | 	#include <sys/wait.h> | ||||||
|   | |||||||
| @@ -38,6 +38,7 @@ | |||||||
|  */ |  */ | ||||||
|  |  | ||||||
| #include "upnp.h" | #include "upnp.h" | ||||||
|  | #include <errno.h> | ||||||
|  |  | ||||||
| /* usually used to specify direction of parameters in functions */ | /* usually used to specify direction of parameters in functions */ | ||||||
| #ifndef IN | #ifndef IN | ||||||
| @@ -122,7 +123,9 @@ void linecopylen( | |||||||
| 		#ifndef S_ISDIR | 		#ifndef S_ISDIR | ||||||
| 			#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) | 			#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) | ||||||
| 		#endif | 		#endif | ||||||
| 		#define EADDRINUSE		WSAEADDRINUSE | 		#ifndef EADDRINUSE		/* VS2010 has this defined */ | ||||||
|  | 			#define EADDRINUSE		WSAEADDRINUSE | ||||||
|  | 		#endif | ||||||
| 		#define strcasecmp		stricmp | 		#define strcasecmp		stricmp | ||||||
| 		#define strncasecmp		strnicmp | 		#define strncasecmp		strnicmp | ||||||
| 		#define sleep(a)		Sleep((a)*1000) | 		#define sleep(a)		Sleep((a)*1000) | ||||||
|   | |||||||
| @@ -6,5 +6,8 @@ | |||||||
| #include "sock.h" | #include "sock.h" | ||||||
| #include "soaplib.h" | #include "soaplib.h" | ||||||
|  |  | ||||||
|  | const char *ContentTypeHeader = | ||||||
|  |     "CONTENT-TYPE: text/xml; charset=\"utf-8\"\r\n"; | ||||||
|  |  | ||||||
| #endif /* EXCLUDE_SOAP */ | #endif /* EXCLUDE_SOAP */ | ||||||
|  |  | ||||||
|   | |||||||
| @@ -455,7 +455,7 @@ get_response_value( IN http_message_t * hmsg, | |||||||
| 		if (!temp_str) | 		if (!temp_str) | ||||||
| 			goto error_handler; | 			goto error_handler; | ||||||
| 		*upnp_error_code = atoi(temp_str); | 		*upnp_error_code = atoi(temp_str); | ||||||
| 		if (*upnp_error_code < 400) { | 		if (*upnp_error_code > 400) { | ||||||
| 			err_code = *upnp_error_code; | 			err_code = *upnp_error_code; | ||||||
| 			goto error_handler;	/* bad SOAP error code */ | 			goto error_handler;	/* bad SOAP error code */ | ||||||
| 		} | 		} | ||||||
|   | |||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -239,7 +239,6 @@ void ssdp_handle_ctrlpt_msg(http_message_t *hmsg, struct sockaddr_storage *dest_ | |||||||
| 		/*hdr_value.buf[ hdr_value.length ] = '\0'; */ | 		/*hdr_value.buf[ hdr_value.length ] = '\0'; */ | ||||||
| 		while (node != NULL) { | 		while (node != NULL) { | ||||||
| 			searchArg = node->item; | 			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) { | 			switch (searchArg->requestType) { | ||||||
| 			case SSDP_ALL: | 			case SSDP_ALL: | ||||||
| @@ -292,8 +291,9 @@ void ssdp_handle_ctrlpt_msg(http_message_t *hmsg, struct sockaddr_storage *dest_ | |||||||
| 					TPJobSetFreeFunction(&job, | 					TPJobSetFreeFunction(&job, | ||||||
| 							     (free_routine) | 							     (free_routine) | ||||||
| 							     free); | 							     free); | ||||||
| 					ThreadPoolAdd(&gRecvThreadPool, &job, | 					if (ThreadPoolAdd(&gRecvThreadPool, &job, NULL) != 0) { | ||||||
| 						      NULL); | 						free(threadData); | ||||||
|  | 					} | ||||||
| 				} | 				} | ||||||
| 			} | 			} | ||||||
| 			node = ListNext(&ctrlpt_info->SsdpSearchList, node); | 			node = ListNext(&ctrlpt_info->SsdpSearchList, node); | ||||||
|   | |||||||
| @@ -169,7 +169,7 @@ void ssdp_handle_device_request(http_message_t *hmsg, struct sockaddr_storage *d | |||||||
|  * \brief Works as a request handler which passes the HTTP request string |  * \brief Works as a request handler which passes the HTTP request string | ||||||
|  * to multicast channel. |  * to multicast channel. | ||||||
|  * |  * | ||||||
|  * \return 1 if successful else appropriate error. |  * \return UPNP_E_SUCCESS if successful else appropriate error. | ||||||
|  */ |  */ | ||||||
| static int NewRequestHandler( | static int NewRequestHandler( | ||||||
| 	/*! [in] Ip address, to send the reply. */ | 	/*! [in] Ip address, to send the reply. */ | ||||||
| @@ -186,7 +186,9 @@ static int NewRequestHandler( | |||||||
| 	unsigned long replyAddr = inet_addr(gIF_IPV4); | 	unsigned long replyAddr = inet_addr(gIF_IPV4); | ||||||
| 	/* a/c to UPNP Spec */ | 	/* a/c to UPNP Spec */ | ||||||
| 	int ttl = 4; | 	int ttl = 4; | ||||||
|  | #ifdef INET_IPV6 | ||||||
| 	int hops = 1; | 	int hops = 1; | ||||||
|  | #endif | ||||||
| 	char buf_ntop[INET6_ADDRSTRLEN]; | 	char buf_ntop[INET6_ADDRSTRLEN]; | ||||||
| 	int ret = UPNP_E_SUCCESS; | 	int ret = UPNP_E_SUCCESS; | ||||||
|  |  | ||||||
| @@ -210,6 +212,7 @@ static int NewRequestHandler( | |||||||
| 			   (char *)&ttl, sizeof(int)); | 			   (char *)&ttl, sizeof(int)); | ||||||
| 		socklen = sizeof(struct sockaddr_in); | 		socklen = sizeof(struct sockaddr_in); | ||||||
| 		break; | 		break; | ||||||
|  | #ifdef INET_IPV6 | ||||||
| 	case AF_INET6: | 	case AF_INET6: | ||||||
| 		inet_ntop(AF_INET6, | 		inet_ntop(AF_INET6, | ||||||
| 			  &((struct sockaddr_in6 *)DestAddr)->sin6_addr, | 			  &((struct sockaddr_in6 *)DestAddr)->sin6_addr, | ||||||
| @@ -219,6 +222,7 @@ static int NewRequestHandler( | |||||||
| 		setsockopt(ReplySock, IPPROTO_IPV6, IPV6_MULTICAST_HOPS, | 		setsockopt(ReplySock, IPPROTO_IPV6, IPV6_MULTICAST_HOPS, | ||||||
| 			   (char *)&hops, sizeof(hops)); | 			   (char *)&hops, sizeof(hops)); | ||||||
| 		break; | 		break; | ||||||
|  | #endif | ||||||
| 	default: | 	default: | ||||||
| 		UpnpPrintf(UPNP_CRITICAL, SSDP, __FILE__, __LINE__, | 		UpnpPrintf(UPNP_CRITICAL, SSDP, __FILE__, __LINE__, | ||||||
| 			   "Invalid destination address specified."); | 			   "Invalid destination address specified."); | ||||||
| @@ -244,8 +248,7 @@ static int NewRequestHandler( | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  end_NewRequestHandler: |  end_NewRequestHandler: | ||||||
| 	ret = shutdown(ReplySock, SD_BOTH); | 	if (shutdown(ReplySock, SD_BOTH) == -1) { | ||||||
| 	if (ret == -1) { |  | ||||||
| 		strerror_r(errno, errorBuffer, ERROR_BUFFER_LEN); | 		strerror_r(errno, errorBuffer, ERROR_BUFFER_LEN); | ||||||
| 		UpnpPrintf(UPNP_INFO, SSDP, __FILE__, __LINE__, | 		UpnpPrintf(UPNP_INFO, SSDP, __FILE__, __LINE__, | ||||||
| 			   "Error in shutdown: %s\n", errorBuffer); | 			   "Error in shutdown: %s\n", errorBuffer); | ||||||
|   | |||||||
| @@ -467,16 +467,16 @@ int unique_service_name(char *cmd, SsdpEvent *Evt) | |||||||
| 		else | 		else | ||||||
| 			return -1; | 			return -1; | ||||||
| 		if (ptr3 != NULL) { | 		if (ptr3 != NULL) { | ||||||
| 			if (strlen("uuid:") + strlen(ptr3 + 1) >= sizeof(Evt->UDN)) | 			if (strlen("uuid:") + strlen(ptr3 + 1) >= sizeof Evt->UDN) | ||||||
| 				return -1; | 				return -1; | ||||||
| 			snprintf(Evt->UDN, sizeof(Evt->UDN), "uuid:%s", | 			snprintf(Evt->UDN, sizeof Evt->UDN, "uuid:%s", ptr3 + 1); | ||||||
| 				ptr3 + 1); |  | ||||||
| 		} | 		} | ||||||
| 		else | 		else | ||||||
| 			return -1; | 			return -1; | ||||||
| 		ptr1 = strstr(cmd, ":"); | 		ptr1 = strstr(cmd, ":"); | ||||||
| 		if (ptr1 != NULL) { | 		if (ptr1 != NULL) { | ||||||
| 			n = (size_t)ptr3 - (size_t)ptr1; | 			n = (size_t)ptr3 - (size_t)ptr1; | ||||||
|  | 			n = n >= sizeof TempBuf ? sizeof TempBuf - 1 : n; | ||||||
| 			strncpy(TempBuf, ptr1, n); | 			strncpy(TempBuf, ptr1, n); | ||||||
| 			TempBuf[n] = '\0'; | 			TempBuf[n] = '\0'; | ||||||
| 			if (strlen("urn") + strlen(TempBuf) >= sizeof(Evt->DeviceType)) | 			if (strlen("urn") + strlen(TempBuf) >= sizeof(Evt->DeviceType)) | ||||||
| @@ -490,27 +490,28 @@ int unique_service_name(char *cmd, SsdpEvent *Evt) | |||||||
| 	if ((TempPtr = strstr(cmd, "uuid")) != NULL) { | 	if ((TempPtr = strstr(cmd, "uuid")) != NULL) { | ||||||
| 		if ((Ptr = strstr(cmd, "::")) != NULL) { | 		if ((Ptr = strstr(cmd, "::")) != NULL) { | ||||||
| 			n = (size_t)Ptr - (size_t)TempPtr; | 			n = (size_t)Ptr - (size_t)TempPtr; | ||||||
|  | 			n = n >= sizeof Evt->UDN ? sizeof Evt->UDN - 1 : n; | ||||||
| 			strncpy(Evt->UDN, TempPtr, n); | 			strncpy(Evt->UDN, TempPtr, n); | ||||||
| 			Evt->UDN[n] = '\0'; | 			Evt->UDN[n] = '\0'; | ||||||
| 		} else { | 		} else { | ||||||
| 			memset(Evt->UDN, 0, sizeof(Evt->UDN)); | 			memset(Evt->UDN, 0, sizeof(Evt->UDN)); | ||||||
| 			strncpy(Evt->UDN, TempPtr, sizeof(Evt->UDN) - 1); | 			strncpy(Evt->UDN, TempPtr, sizeof Evt->UDN - 1); | ||||||
| 		} | 		} | ||||||
| 		CommandFound = 1; | 		CommandFound = 1; | ||||||
| 	} | 	} | ||||||
| 	if (strstr(cmd, "urn:") != NULL && strstr(cmd, ":service:") != NULL) { | 	if (strstr(cmd, "urn:") != NULL && strstr(cmd, ":service:") != NULL) { | ||||||
| 		if ((TempPtr = strstr(cmd, "urn")) != NULL) { | 		if ((TempPtr = strstr(cmd, "urn")) != NULL) { | ||||||
| 			memset(Evt->ServiceType, 0, sizeof(Evt->ServiceType)); | 			memset(Evt->ServiceType, 0, sizeof Evt->ServiceType); | ||||||
| 			strncpy(Evt->ServiceType, TempPtr, | 			strncpy(Evt->ServiceType, TempPtr, | ||||||
| 				sizeof(Evt->ServiceType) - 1); | 				sizeof Evt->ServiceType - 1); | ||||||
| 			CommandFound = 1; | 			CommandFound = 1; | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	if (strstr(cmd, "urn:") != NULL && strstr(cmd, ":device:") != NULL) { | 	if (strstr(cmd, "urn:") != NULL && strstr(cmd, ":device:") != NULL) { | ||||||
| 		if ((TempPtr = strstr(cmd, "urn")) != NULL) { | 		if ((TempPtr = strstr(cmd, "urn")) != NULL) { | ||||||
| 			memset(Evt->DeviceType, 0, sizeof(Evt->DeviceType)); | 			memset(Evt->DeviceType, 0, sizeof Evt->DeviceType); | ||||||
| 			strncpy(Evt->DeviceType, TempPtr, | 			strncpy(Evt->DeviceType, TempPtr, | ||||||
| 				sizeof(Evt->DeviceType) - 1); | 				sizeof Evt->DeviceType - 1); | ||||||
| 			CommandFound = 1; | 			CommandFound = 1; | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| @@ -518,6 +519,7 @@ int unique_service_name(char *cmd, SsdpEvent *Evt) | |||||||
| 		/* Everything before "::upnp::rootdevice" is the UDN. */ | 		/* Everything before "::upnp::rootdevice" is the UDN. */ | ||||||
| 		if (TempPtr != cmd) { | 		if (TempPtr != cmd) { | ||||||
| 			n = (size_t)TempPtr - (size_t)cmd; | 			n = (size_t)TempPtr - (size_t)cmd; | ||||||
|  | 			n = n >= sizeof Evt->UDN ? sizeof Evt->UDN - 1 : n; | ||||||
| 			strncpy(Evt->UDN, cmd, n); | 			strncpy(Evt->UDN, cmd, n); | ||||||
| 			Evt->UDN[n] = 0; | 			Evt->UDN[n] = 0; | ||||||
| 			CommandFound = 1; | 			CommandFound = 1; | ||||||
| @@ -812,7 +814,7 @@ static int create_ssdp_sock_v4( | |||||||
| 		ret = UPNP_E_SOCKET_ERROR; | 		ret = UPNP_E_SOCKET_ERROR; | ||||||
| 		goto error_handler; | 		goto error_handler; | ||||||
| 	} | 	} | ||||||
| #if defined(BSD) || defined(__OSX__) || defined(__APPLE__) | #if (defined(BSD) && !defined(__GNU__)) || defined(__OSX__) || defined(__APPLE__) | ||||||
| 	onOff = 1; | 	onOff = 1; | ||||||
| 	ret = setsockopt(*ssdpSock, SOL_SOCKET, SO_REUSEPORT, | 	ret = setsockopt(*ssdpSock, SOL_SOCKET, SO_REUSEPORT, | ||||||
| 			 (char *)&onOff, sizeof(onOff)); | 			 (char *)&onOff, sizeof(onOff)); | ||||||
| @@ -864,8 +866,8 @@ static int create_ssdp_sock_v4( | |||||||
| 		/* This is probably not a critical error, so let's continue. */ | 		/* This is probably not a critical error, so let's continue. */ | ||||||
| 	} | 	} | ||||||
| 	/* result is not checked becuase it will fail in WinMe and Win9x. */ | 	/* result is not checked becuase it will fail in WinMe and Win9x. */ | ||||||
| 	ret = setsockopt(*ssdpSock, IPPROTO_IP, | 	setsockopt(*ssdpSock, IPPROTO_IP, | ||||||
| 			 IP_MULTICAST_TTL, &ttl, sizeof(ttl)); | 		IP_MULTICAST_TTL, &ttl, sizeof(ttl)); | ||||||
| 	onOff = 1; | 	onOff = 1; | ||||||
| 	ret = setsockopt(*ssdpSock, SOL_SOCKET, SO_BROADCAST, | 	ret = setsockopt(*ssdpSock, SOL_SOCKET, SO_BROADCAST, | ||||||
| 			 (char *)&onOff, sizeof(onOff)); | 			 (char *)&onOff, sizeof(onOff)); | ||||||
| @@ -954,7 +956,7 @@ static int create_ssdp_sock_v6( | |||||||
| 		ret = UPNP_E_SOCKET_ERROR; | 		ret = UPNP_E_SOCKET_ERROR; | ||||||
| 		goto error_handler; | 		goto error_handler; | ||||||
| 	} | 	} | ||||||
| #if defined(BSD) || defined(__OSX__) || defined(__APPLE__) | #if (defined(BSD) && !defined(__GNU__)) || defined(__OSX__) || defined(__APPLE__) | ||||||
| 	onOff = 1; | 	onOff = 1; | ||||||
| 	ret = setsockopt(*ssdpSock, SOL_SOCKET, SO_REUSEPORT, | 	ret = setsockopt(*ssdpSock, SOL_SOCKET, SO_REUSEPORT, | ||||||
| 			 (char *)&onOff, sizeof(onOff)); | 			 (char *)&onOff, sizeof(onOff)); | ||||||
| @@ -1067,7 +1069,7 @@ static int create_ssdp_sock_v6_ula_gua( | |||||||
| 		ret = UPNP_E_SOCKET_ERROR; | 		ret = UPNP_E_SOCKET_ERROR; | ||||||
| 		goto error_handler; | 		goto error_handler; | ||||||
| 	} | 	} | ||||||
| #if defined(BSD) || defined(__OSX__) || defined(__APPLE__) | #if (defined(BSD) && !defined(__GNU__)) || defined(__OSX__) || defined(__APPLE__) | ||||||
| 	onOff = 1; | 	onOff = 1; | ||||||
| 	ret = setsockopt(*ssdpSock, SOL_SOCKET, SO_REUSEPORT, | 	ret = setsockopt(*ssdpSock, SOL_SOCKET, SO_REUSEPORT, | ||||||
| 			 (char *)&onOff, sizeof(onOff)); | 			 (char *)&onOff, sizeof(onOff)); | ||||||
|   | |||||||
| @@ -143,15 +143,12 @@ static UPNP_INLINE int calc_alias( | |||||||
| 		aliasPtr = alias + 1; | 		aliasPtr = alias + 1; | ||||||
| 	else  | 	else  | ||||||
| 		aliasPtr = alias; | 		aliasPtr = alias; | ||||||
| 	new_alias_len = root_len + strlen(temp_str) + strlen(aliasPtr); | 	new_alias_len = root_len + strlen(temp_str) + strlen(aliasPtr) + (size_t)1; | ||||||
| 	alias_temp = malloc(new_alias_len + (size_t)1); | 	alias_temp = malloc(new_alias_len); | ||||||
| 	if (alias_temp == NULL) | 	if (alias_temp == NULL) | ||||||
| 		return UPNP_E_OUTOF_MEMORY; | 		return UPNP_E_OUTOF_MEMORY; | ||||||
| 	memset(alias_temp, 0, new_alias_len + (size_t)1); | 	memset(alias_temp, 0, new_alias_len); | ||||||
| 	strncpy(alias_temp, rootPath, root_len); | 	snprintf(alias_temp, new_alias_len, "%s%s%s", rootPath, temp_str, aliasPtr); | ||||||
| 	alias_temp[root_len] = '\0'; |  | ||||||
| 	strncat(alias_temp, temp_str, strlen(temp_str)); |  | ||||||
| 	strncat(alias_temp, aliasPtr, strlen(aliasPtr)); |  | ||||||
|  |  | ||||||
| 	*newAlias = alias_temp; | 	*newAlias = alias_temp; | ||||||
| 	return UPNP_E_SUCCESS; | 	return UPNP_E_SUCCESS; | ||||||
| @@ -186,14 +183,10 @@ static UPNP_INLINE int calc_descURL( | |||||||
| 	assert(ipPortStr != NULL && strlen(ipPortStr) > 0); | 	assert(ipPortStr != NULL && strlen(ipPortStr) > 0); | ||||||
| 	assert(alias != NULL && strlen(alias) > 0); | 	assert(alias != NULL && strlen(alias) > 0); | ||||||
|  |  | ||||||
| 	len = strlen(http_scheme) + strlen(ipPortStr) + strlen(alias); | 	len = strlen(http_scheme) + strlen(ipPortStr) + strlen(alias) + (size_t)1; | ||||||
| 	if (len > ((size_t)LINE_SIZE - (size_t)1)) | 	if (len > (size_t)LINE_SIZE) | ||||||
| 		return UPNP_E_URL_TOO_BIG; | 		return UPNP_E_URL_TOO_BIG; | ||||||
| 	strncpy(descURL, http_scheme, strlen(http_scheme)); | 	snprintf(descURL, len, "%s%s%s", http_scheme, ipPortStr, alias); | ||||||
| 	descURL[strlen(http_scheme)] = '\0'; |  | ||||||
| 	strncat(descURL, ipPortStr, strlen(ipPortStr)); |  | ||||||
| 	strncat(descURL, alias, strlen(alias)); |  | ||||||
| 	descURL[len] = '\0'; |  | ||||||
| 	UpnpPrintf(UPNP_INFO, API, __FILE__, __LINE__, | 	UpnpPrintf(UPNP_INFO, API, __FILE__, __LINE__, | ||||||
| 		   "desc url: %s\n", descURL); | 		   "desc url: %s\n", descURL); | ||||||
|  |  | ||||||
| @@ -267,6 +260,7 @@ static int config_description_doc( | |||||||
| 		err_code = | 		err_code = | ||||||
| 		    ixmlNode_appendChild(rootNode, (IXML_Node *) element); | 		    ixmlNode_appendChild(rootNode, (IXML_Node *) element); | ||||||
| 		if (err_code != IXML_SUCCESS) { | 		if (err_code != IXML_SUCCESS) { | ||||||
|  | 			err_code = UPNP_E_INVALID_DESC; | ||||||
| 			goto error_handler; | 			goto error_handler; | ||||||
| 		} | 		} | ||||||
| 		textNode = | 		textNode = | ||||||
| @@ -277,6 +271,7 @@ static int config_description_doc( | |||||||
| 		err_code = | 		err_code = | ||||||
| 		    ixmlNode_appendChild((IXML_Node *) element, textNode); | 		    ixmlNode_appendChild((IXML_Node *) element, textNode); | ||||||
| 		if (err_code != IXML_SUCCESS) { | 		if (err_code != IXML_SUCCESS) { | ||||||
|  | 			err_code = UPNP_E_INTERNAL_ERROR; | ||||||
| 			goto error_handler; | 			goto error_handler; | ||||||
| 		} | 		} | ||||||
| 	} else { | 	} else { | ||||||
| @@ -327,6 +322,7 @@ static int config_description_doc( | |||||||
| 		} | 		} | ||||||
| 		err_code = ixmlNode_setNodeValue(textNode, url_str.buf); | 		err_code = ixmlNode_setNodeValue(textNode, url_str.buf); | ||||||
| 		if (err_code != IXML_SUCCESS) { | 		if (err_code != IXML_SUCCESS) { | ||||||
|  | 			err_code = UPNP_E_OUTOF_MEMORY; | ||||||
| 			goto error_handler; | 			goto error_handler; | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|   | |||||||
							
								
								
									
										131
									
								
								upnp/test/test_url.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										131
									
								
								upnp/test/test_url.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,131 @@ | |||||||
|  |  | ||||||
|  | #include <stdlib.h> | ||||||
|  | #include <stdio.h> | ||||||
|  | #include <string.h> | ||||||
|  | #include "upnp.h" | ||||||
|  | #include "upnptools.h" | ||||||
|  |  | ||||||
|  | struct test { | ||||||
|  | 	const char *base; | ||||||
|  | 	const char *rel; | ||||||
|  | 	const char *expect; | ||||||
|  | 	int line; | ||||||
|  | 	int error; | ||||||
|  | }; | ||||||
|  | #define TEST(BaseURL, RelURL, expect, ...) {BaseURL, RelURL, expect, __LINE__, ##__VA_ARGS__} | ||||||
|  |  | ||||||
|  | static int | ||||||
|  | result(const struct test *test) | ||||||
|  | { | ||||||
|  | 	char *absurl = NULL; | ||||||
|  | 	int ret = 0; | ||||||
|  |  | ||||||
|  | 	ret = UpnpResolveURL2(test->base, test->rel, &absurl); | ||||||
|  | 	if (ret == test->error && (test->expect == NULL || strcmp(test->expect, absurl) == 0)) { | ||||||
|  | 		ret = 0; | ||||||
|  | 	} else { | ||||||
|  | 		printf("%s:%d:  '%s' | '%s' -> '%s' != '%s' (%d)\n", __FILE__, test->line, test->base, test->rel, absurl, test->expect, ret); | ||||||
|  | 		ret = 1; | ||||||
|  | 	} | ||||||
|  | 	free(absurl); | ||||||
|  | 	return ret; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | /* The URLs must be resolvale! */ | ||||||
|  | static const char ABS_URL1[] = "http://www.libupnp.org/path1/"; | ||||||
|  | static const char ABS_URL2[] = "http://www.libupnp.org/path1/path1"; | ||||||
|  | static const char ABS_URL3[] = "http://localhost/path1/"; | ||||||
|  | static const char ABS_URL4[] = "http://127.0.0.1/path1/"; | ||||||
|  | static const char ABS_URL5[] = "http://127.0.0.1:6544/path1/"; | ||||||
|  | static const char ABS_URL6[] = "http://[::1]:6544/path1/"; | ||||||
|  |  | ||||||
|  | static const char REL_URL1[] = "//localhost/path2"; | ||||||
|  | static const char REL_URL2[] = "/path3"; | ||||||
|  | static const char REL_URL3[] = "path4"; | ||||||
|  | static const char REL_URL4[] = "../path5"; | ||||||
|  | static const char REL_URL5[] = "?query1"; | ||||||
|  | static const char REL_URL6[] = "#frag1"; | ||||||
|  |  | ||||||
|  | static const char ABS_RFC[] = "http://localhost/b/c/d;p?q"; | ||||||
|  | // s,\<a\>,localhost, | ||||||
|  | // s,//g\>,//127.0.0.1, | ||||||
|  |  | ||||||
|  | static const struct test RFC3986[] = { | ||||||
|  | 	// Errors | ||||||
|  | 	TEST(NULL,     NULL,  NULL, UPNP_E_INVALID_PARAM), | ||||||
|  | 	TEST(ABS_URL1, NULL,  NULL, UPNP_E_INVALID_PARAM), | ||||||
|  | 	TEST("foo",    "bar", NULL, UPNP_E_INVALID_URL), | ||||||
|  | 	// Custom | ||||||
|  | 	TEST(NULL,     ABS_URL1, ABS_URL1), | ||||||
|  | 	TEST(ABS_URL1, ABS_URL2, ABS_URL2), | ||||||
|  | 	TEST(ABS_URL1, "",       ABS_URL1), | ||||||
|  | 	TEST(ABS_URL1, REL_URL1, "http://localhost/path2"), | ||||||
|  | 	TEST(ABS_URL2, REL_URL1, "http://localhost/path2"), | ||||||
|  | 	TEST(ABS_URL1, REL_URL2, "http://www.libupnp.org/path3"), | ||||||
|  | 	TEST(ABS_URL2, REL_URL2, "http://www.libupnp.org/path3"), | ||||||
|  | 	TEST(ABS_URL1, REL_URL3, "http://www.libupnp.org/path1/path4"), | ||||||
|  | 	TEST(ABS_URL2, REL_URL3, "http://www.libupnp.org/path1/path4"), | ||||||
|  | 	TEST(ABS_URL1, REL_URL4, "http://www.libupnp.org/path5"), | ||||||
|  | 	TEST(ABS_URL2, REL_URL4, "http://www.libupnp.org/path5"), | ||||||
|  | 	TEST(ABS_URL1, REL_URL6, "http://www.libupnp.org/path1/#frag1"), | ||||||
|  | 	TEST(ABS_URL2, REL_URL6, "http://www.libupnp.org/path1/path1#frag1"), | ||||||
|  | 	TEST("http://127.0.0.1:6544/getDeviceDesc", "CDS_Event", "http://127.0.0.1:6544/CDS_Event"), | ||||||
|  | 	// <http://tools.ietf.org/html/rfc3986#section-5.4.1> Normal Examples | ||||||
|  | 	TEST(ABS_RFC, "g:h",         "g:h"), | ||||||
|  | 	TEST(ABS_RFC, "g",           "http://localhost/b/c/g"), | ||||||
|  | 	TEST(ABS_RFC, "./g",         "http://localhost/b/c/g"), | ||||||
|  | 	TEST(ABS_RFC, "g/",          "http://localhost/b/c/g/"), | ||||||
|  | 	TEST(ABS_RFC, "/g",          "http://localhost/g"), | ||||||
|  | 	TEST(ABS_RFC, "//127.0.0.1", "http://127.0.0.1"), | ||||||
|  | 	TEST(ABS_RFC, "?y",          "http://localhost/b/c/d;p?y"), | ||||||
|  | 	TEST(ABS_RFC, "g?y",         "http://localhost/b/c/g?y"), | ||||||
|  | 	TEST(ABS_RFC, "#s",          "http://localhost/b/c/d;p?q#s"), | ||||||
|  | 	TEST(ABS_RFC, "g#s",         "http://localhost/b/c/g#s"), | ||||||
|  | 	TEST(ABS_RFC, "g?y#s",       "http://localhost/b/c/g?y#s"), | ||||||
|  | 	TEST(ABS_RFC, ";x",          "http://localhost/b/c/;x"), | ||||||
|  | 	TEST(ABS_RFC, "g;x",         "http://localhost/b/c/g;x"), | ||||||
|  | 	TEST(ABS_RFC, "g;x?y#s",     "http://localhost/b/c/g;x?y#s"), | ||||||
|  | 	TEST(ABS_RFC, "",            "http://localhost/b/c/d;p?q"), | ||||||
|  | 	TEST(ABS_RFC, ".",           "http://localhost/b/c/"), | ||||||
|  | 	TEST(ABS_RFC, "./",          "http://localhost/b/c/"), | ||||||
|  | 	TEST(ABS_RFC, "..",          "http://localhost/b/"), | ||||||
|  | 	TEST(ABS_RFC, "../",         "http://localhost/b/"), | ||||||
|  | 	TEST(ABS_RFC, "../g",        "http://localhost/b/g"), | ||||||
|  | 	TEST(ABS_RFC, "../..",       "http://localhost/"), | ||||||
|  | 	TEST(ABS_RFC, "../../",      "http://localhost/"), | ||||||
|  | 	TEST(ABS_RFC, "../../g",     "http://localhost/g"), | ||||||
|  | 	// <http://tools.ietf.org/html/rfc3986#section-5.4.2> Abnormal Examples | ||||||
|  | 	TEST(ABS_RFC, "../../../g",    "http://localhost/g"), | ||||||
|  | 	TEST(ABS_RFC, "../../../../g", "http://localhost/g"), | ||||||
|  | 	TEST(ABS_RFC, "/./g",          "http://localhost/g"), | ||||||
|  | 	TEST(ABS_RFC, "/../g",         "http://localhost/g"), | ||||||
|  | 	TEST(ABS_RFC, "g.",            "http://localhost/b/c/g."), | ||||||
|  | 	TEST(ABS_RFC, ".g",            "http://localhost/b/c/.g"), | ||||||
|  | 	TEST(ABS_RFC, "g..",           "http://localhost/b/c/g.."), | ||||||
|  | 	TEST(ABS_RFC, "..g",           "http://localhost/b/c/..g"), | ||||||
|  | 	TEST(ABS_RFC, "./../g",        "http://localhost/b/g"), | ||||||
|  | 	TEST(ABS_RFC, "./g/.",         "http://localhost/b/c/g/"), | ||||||
|  | 	TEST(ABS_RFC, "g/./h",         "http://localhost/b/c/g/h"), | ||||||
|  | 	TEST(ABS_RFC, "g/../h",        "http://localhost/b/c/h"), | ||||||
|  | 	TEST(ABS_RFC, "g;x=1/./y",     "http://localhost/b/c/g;x=1/y"), | ||||||
|  | 	TEST(ABS_RFC, "g;x=1/../y",    "http://localhost/b/c/y"), | ||||||
|  | 	TEST(ABS_RFC, "g?y/./x",       "http://localhost/b/c/g?y/./x"), | ||||||
|  | 	TEST(ABS_RFC, "g?y/../x",      "http://localhost/b/c/g?y/../x"), | ||||||
|  | 	TEST(ABS_RFC, "g#s/./x",       "http://localhost/b/c/g#s/./x"), | ||||||
|  | 	TEST(ABS_RFC, "g#s/../x",      "http://localhost/b/c/g#s/../x"), | ||||||
|  | 	TEST(ABS_RFC, "http:g",        "http:g"), | ||||||
|  | 	}; | ||||||
|  | #define ARRAY_SIZE(a) (sizeof (a) / sizeof *(a)) | ||||||
|  |  | ||||||
|  | int | ||||||
|  | main (int argc, char* argv[]) | ||||||
|  | { | ||||||
|  | 	int i, ret = 0; | ||||||
|  |  | ||||||
|  | 	for (i = 0; i < ARRAY_SIZE(RFC3986); i++) | ||||||
|  | 		ret += result(&RFC3986[i]); | ||||||
|  |  | ||||||
|  | 	exit (ret ? EXIT_FAILURE : EXIT_SUCCESS); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // gcc -o url-test -g url-test.c -I ixml/inc -I threadutil/inc -I upnp/inc upnp/.libs/libupnp.a -L ixml/.libs -lixml -L threadutil/.libs -lthreadutil -lpthread | ||||||
		Reference in New Issue
	
	Block a user