---- libupnp/upnp/Makefile.am 2008-02-10 02:55:34.000000000 +0100
-+++ libupnp.new/upnp/Makefile.am 2010-08-24 18:40:58.000000000 +0200
-@@ -123,6 +123,7 @@
- libupnp_la_SOURCES += \
- src/uuid/md5.c \
- src/uuid/sysdep.c \
-+ src/inet_pton.c \
- src/uuid/uuid.c
-
-
-diff -ruN libupnp/upnp/src/genlib/miniserver/miniserver.c libupnp.new/upnp/src/genlib/miniserver/miniserver.c
---- libupnp/upnp/src/genlib/miniserver/miniserver.c 2008-03-21 00:07:50.000000000 +0100
-+++ libupnp.new/upnp/src/genlib/miniserver/miniserver.c 2010-08-24 18:34:44.000000000 +0200
-@@ -419,9 +419,8 @@
-
- ret = select( maxMiniSock, &rdSet, NULL, &expSet, NULL );
- if ( ret == -1 ) {
-- strerror_r(errno, errorBuffer, ERROR_BUFFER_LEN);
- UpnpPrintf( UPNP_CRITICAL, SSDP, __FILE__, __LINE__,
-- "Error in select(): %s\n", errorBuffer );
-+ "Error in select(): %i\n", errno );
- /* Avoid 100% CPU in case of repeated error in select() */
- isleep( 1 );
- continue;
-@@ -431,9 +430,8 @@
- connectHnd = accept( miniServSock,
- ( struct sockaddr * )&clientAddr, &clientLen );
- if( connectHnd == -1 ) {
-- strerror_r(errno, errorBuffer, ERROR_BUFFER_LEN);
- UpnpPrintf( UPNP_INFO, MSERV, __FILE__, __LINE__,
-- "miniserver: Error in accept(): %s\n", errorBuffer );
-+ "miniserver: Error in accept(): %i\n", errno );
- continue;
- }
- schedule_request_job( connectHnd, &clientAddr );
-@@ -616,9 +614,8 @@
- }
-
- if ( sockError == -1 ) {
-- strerror_r(errno, errorBuffer, ERROR_BUFFER_LEN);
- UpnpPrintf( UPNP_INFO, MSERV, __FILE__, __LINE__,
-- "mserv start: Error in bind(): %s\n", errorBuffer );
-+ "mserv start: Error in bind(): %i\n", errno );
- shutdown( listenfd, SD_BOTH );
- UpnpCloseSocket( listenfd );
-
-@@ -630,9 +627,8 @@
-
- success = listen( listenfd, SOMAXCONN );
- if ( success == -1 ) {
-- strerror_r(errno, errorBuffer, ERROR_BUFFER_LEN);
- UpnpPrintf( UPNP_INFO, MSERV, __FILE__, __LINE__,
-- "mserv start: Error in listen(): %s\n", errorBuffer );
-+ "mserv start: Error in listen(): %i\n", errno );
- shutdown( listenfd, SD_BOTH );
- UpnpCloseSocket( listenfd );
-
-@@ -651,9 +647,8 @@
-
- miniServerStopSock = socket( AF_INET, SOCK_DGRAM, 0 );
- if ( miniServerStopSock == -1 ) {
-- strerror_r(errno, errorBuffer, ERROR_BUFFER_LEN);
- UpnpPrintf( UPNP_CRITICAL, MSERV, __FILE__, __LINE__,
-- "Error in socket(): %s\n", errorBuffer );
-+ "Error in socket(): %i\n", errno );
- shutdown( listenfd, SD_BOTH );
- UpnpCloseSocket( listenfd );
-
-@@ -827,9 +822,8 @@
-
- sock = socket( AF_INET, SOCK_DGRAM, 0 );
- if ( sock == -1 ) {
-- strerror_r(errno, errorBuffer, ERROR_BUFFER_LEN);
- UpnpPrintf( UPNP_INFO, SSDP, __FILE__, __LINE__,
-- "SSDP_SERVER: StopSSDPServer: Error in socket() %s\n", errorBuffer );
-+ "SSDP_SERVER: StopSSDPServer: Error in socket() %i\n", errno );
- return 0;
- }
-
-diff -ruN libupnp/upnp/src/inet_pton.c libupnp.new/upnp/src/inet_pton.c
---- libupnp/upnp/src/inet_pton.c 2008-02-10 02:55:34.000000000 +0100
-+++ libupnp.new/upnp/src/inet_pton.c 2010-08-24 18:41:08.000000000 +0200
-@@ -35,7 +35,6 @@
- * sizeof(int) < 4. sizeof(int) 4 is fine; all the world's not a VAX.
- */
-
--
- /* const char *
- * inet_ntop4(src, dst, size)
- * format an IPv4 address
-@@ -386,4 +385,4 @@
- }
- /* NOTREACHED */
- }
--#endif
-\ Pas de fin de ligne à la fin du fichier.
-+#endif
-diff -ruN libupnp/upnp/src/ssdp/ssdp_ctrlpt.c libupnp.new/upnp/src/ssdp/ssdp_ctrlpt.c
---- libupnp/upnp/src/ssdp/ssdp_ctrlpt.c 2008-03-22 17:36:03.000000000 +0100
-+++ libupnp.new/upnp/src/ssdp/ssdp_ctrlpt.c 2010-08-24 18:32:47.000000000 +0200
-@@ -595,10 +595,9 @@
-
- ret = select( gSsdpReqSocket + 1, NULL, &wrSet, NULL, NULL );
- if( ret == -1 ) {
-- strerror_r(errno, errorBuffer, ERROR_BUFFER_LEN);
- UpnpPrintf( UPNP_INFO, SSDP, __FILE__, __LINE__,
-- "SSDP_LIB: Error in select(): %s\n",
-- errorBuffer );
-+ "SSDP_LIB: Error in select(): %i\n",
-+ errno );
- shutdown( gSsdpReqSocket, SD_BOTH );
- UpnpCloseSocket( gSsdpReqSocket );
- free( ReqBuf );
-diff -ruN libupnp/upnp/src/ssdp/ssdp_device.c libupnp.new/upnp/src/ssdp/ssdp_device.c
---- libupnp/upnp/src/ssdp/ssdp_device.c 2008-03-21 00:27:26.000000000 +0100
-+++ libupnp.new/upnp/src/ssdp/ssdp_device.c 2010-08-24 18:36:22.000000000 +0200
-@@ -227,10 +227,9 @@
-
- ReplySock = socket( AF_INET, SOCK_DGRAM, 0 );
- if ( ReplySock == -1 ) {
-- strerror_r(errno, errorBuffer, ERROR_BUFFER_LEN);
- UpnpPrintf( UPNP_INFO, SSDP, __FILE__, __LINE__,
- "SSDP_LIB: New Request Handler:"
-- "Error in socket(): %s\n", errorBuffer );
-+ "Error in socket(): %i\n", errno );
-
- return UPNP_E_OUTOF_SOCKET;
- }
-diff -ruN libupnp/upnp/src/ssdp/ssdp_server.c libupnp.new/upnp/src/ssdp/ssdp_server.c
---- libupnp/upnp/src/ssdp/ssdp_server.c 2008-03-21 00:08:25.000000000 +0100
-+++ libupnp.new/upnp/src/ssdp/ssdp_server.c 2010-08-24 18:30:28.000000000 +0200
-@@ -876,9 +876,8 @@
-
- ssdpReqSock = socket( AF_INET, SOCK_DGRAM, 0 );
- if ( ssdpReqSock == -1 ) {
-- strerror_r(errno, errorBuffer, ERROR_BUFFER_LEN);
- UpnpPrintf( UPNP_CRITICAL, SSDP, __FILE__, __LINE__,
-- "Error in socket(): %s\n", errorBuffer );
-+ "Error in socket(): %i\n", errno );
-
- return UPNP_E_OUTOF_SOCKET;
- }
-@@ -891,9 +890,8 @@
-
- ssdpSock = socket( AF_INET, SOCK_DGRAM, 0 );
- if ( ssdpSock == -1 ) {
-- strerror_r(errno, errorBuffer, ERROR_BUFFER_LEN);
- UpnpPrintf( UPNP_CRITICAL, SSDP, __FILE__, __LINE__,
-- "Error in socket(): %s\n", errorBuffer );
-+ "Error in socket(): %i\n", errno );
- CLIENTONLY( shutdown( ssdpReqSock, SD_BOTH ); )
- CLIENTONLY( UpnpCloseSocket( ssdpReqSock ); )
-
-@@ -904,9 +902,8 @@
- ret = setsockopt( ssdpSock, SOL_SOCKET, SO_REUSEADDR,
- (char *)&onOff, sizeof(onOff) );
- if ( ret == -1) {
-- strerror_r(errno, errorBuffer, ERROR_BUFFER_LEN);
- UpnpPrintf( UPNP_CRITICAL, SSDP, __FILE__, __LINE__,
-- "Error in setsockopt() SO_REUSEADDR: %s\n", errorBuffer );
-+ "Error in setsockopt() SO_REUSEADDR: %i\n", errno );
- CLIENTONLY( shutdown( ssdpReqSock, SD_BOTH ); )
- CLIENTONLY( UpnpCloseSocket( ssdpReqSock ); )
- shutdown( ssdpSock, SD_BOTH );
-@@ -919,9 +916,8 @@
- ret = setsockopt( ssdpSock, SOL_SOCKET, SO_REUSEPORT,
- (char *)&onOff, sizeof (onOff) );
- if ( ret == -1 ) {
-- strerror_r(errno, errorBuffer, ERROR_BUFFER_LEN);
- UpnpPrintf( UPNP_CRITICAL, SSDP, __FILE__, __LINE__,
-- "Error in setsockopt() SO_REUSEPORT: %s\n", errorBuffer );
-+ "Error in setsockopt() SO_REUSEPORT: %i\n", errno );
- CLIENTONLY( shutdown( ssdpReqSock, SD_BOTH ); )
- CLIENTONLY( UpnpCloseSocket( ssdpReqSock ); )
- shutdown( ssdpSock, SD_BOTH );
-@@ -938,10 +934,9 @@
- ssdpAddr.sin_port = htons( SSDP_PORT );
- ret = bind( ssdpSock, (struct sockaddr *)&ssdpAddr, sizeof (ssdpAddr) );
- if ( ret == -1 ) {
-- strerror_r(errno, errorBuffer, ERROR_BUFFER_LEN);
- UpnpPrintf( UPNP_CRITICAL, SSDP, __FILE__, __LINE__,
-- "Error in bind(), addr=0x%08X, port=%d: %s\n",
-- INADDR_ANY, SSDP_PORT, errorBuffer );
-+ "Error in bind(), addr=0x%08X, port=%d: %i\n",
-+ INADDR_ANY, SSDP_PORT, errno );
- shutdown( ssdpSock, SD_BOTH );
- UpnpCloseSocket( ssdpSock );
- CLIENTONLY( shutdown( ssdpReqSock, SD_BOTH ); )
-@@ -956,10 +950,9 @@
- ret = setsockopt( ssdpSock, IPPROTO_IP, IP_ADD_MEMBERSHIP,
- (char *)&ssdpMcastAddr, sizeof (struct ip_mreq) );
- if ( ret == -1 ) {
-- strerror_r(errno, errorBuffer, ERROR_BUFFER_LEN);
- UpnpPrintf( UPNP_CRITICAL, SSDP, __FILE__, __LINE__,
-- "Error in setsockopt() IP_ADD_MEMBERSHIP (join multicast group): %s\n",
-- errorBuffer );
-+ "Error in setsockopt() IP_ADD_MEMBERSHIP (join multicast group): %i\n",
-+ errno );
- shutdown( ssdpSock, SD_BOTH );
- CLIENTONLY( shutdown( ssdpReqSock, SD_BOTH ); )
- UpnpCloseSocket( ssdpSock );
-@@ -974,10 +967,9 @@
- ret = setsockopt(ssdpSock, IPPROTO_IP, IP_MULTICAST_IF,
- (char *)&addr, sizeof addr);
- if ( ret == -1 ) {
-- strerror_r(errno, errorBuffer, ERROR_BUFFER_LEN);
- UpnpPrintf( UPNP_INFO, SSDP, __FILE__, __LINE__,
-- "Error in setsockopt() IP_MULTICAST_IF (set multicast interface): %s\n",
-- errorBuffer );
-+ "Error in setsockopt() IP_MULTICAST_IF (set multicast interface): %i\n",
-+ errno );
- /* This is probably not a critical error, so let's continue. */
- }
-
-@@ -988,10 +980,9 @@
- ret = setsockopt( ssdpSock, SOL_SOCKET, SO_BROADCAST,
- (char *)&option, sizeof (option) );
- if( ret == -1) {
-- strerror_r(errno, errorBuffer, ERROR_BUFFER_LEN);
- UpnpPrintf( UPNP_CRITICAL, SSDP, __FILE__, __LINE__,
-- "Error in setsockopt() SO_BROADCAST (set broadcast): %s\n",
-- errorBuffer );
-+ "Error in setsockopt() SO_BROADCAST (set broadcast): %i\n",
-+ errno );
- shutdown( ssdpSock, SD_BOTH );
- CLIENTONLY( shutdown( ssdpReqSock, SD_BOTH ); )
- UpnpCloseSocket( ssdpSock );
+--- libupnp/configure.ac.orig 2011-02-10 23:53:25.000000000 +0100
++++ libupnp/configure.ac 2011-02-10 23:54:23.574454501 +0100
+@@ -546,6 +546,7 @@
+ AC_SUBST(PTHREAD_CFLAGS)
+ AC_SUBST(PTHREAD_CC)
+
++AC_DEFINE([_WIN32_WINNT], 0x0501, [Define to '0x0500' for Windows 2000 APIs.])
+ #
+ # Determine if pthread_rwlock_t is available
+ #