From shoesoft@gmx.net  Sat Apr 20 08:12:25 2013
Return-Path: <shoesoft@gmx.net>
Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115])
	by hub.freebsd.org (Postfix) with ESMTP id 4FE9A4DB
	for <freebsd-gnats-submit@freebsd.org>; Sat, 20 Apr 2013 08:12:25 +0000 (UTC)
	(envelope-from shoesoft@gmx.net)
Received: from mout.gmx.net (mout.gmx.net [212.227.15.19])
	by mx1.freebsd.org (Postfix) with ESMTP id F2D901271
	for <freebsd-gnats-submit@freebsd.org>; Sat, 20 Apr 2013 08:12:24 +0000 (UTC)
Received: from mailout-de.gmx.net ([10.1.76.19]) by mrigmx.server.lan
 (mrigmx001) with ESMTP (Nemesis) id 0LkDzQ-1V4RYL2S8w-00cCZf for
 <FreeBSD-gnats-submit@freebsd.org>; Sat, 20 Apr 2013 10:12:23 +0200
Received: (qmail invoked by alias); 20 Apr 2013 08:12:23 -0000
Received: from h081217076060.dyn.cm.kabsi.at (EHLO walrus.pepperland) [81.217.76.60]
  by mail.gmx.net (mp019) with SMTP; 20 Apr 2013 10:12:23 +0200
Message-Id: <1366445543.375729.94534@walrus.pepperland>
Date: Sat, 20 Apr 2013 10:12:23 +0200
From: "Stefan Ehmann" <shoesoft@gmx.net>
To: "FreeBSD gnats submit" <FreeBSD-gnats-submit@freebsd.org>
Subject: games/megaglest: fix build
X-Send-Pr-Version: gtk-send-pr 0.4.9 
X-GNATS-Notify: rnejdl@ringofsaturn.com

>Number:         177987
>Category:       ports
>Synopsis:       games/megaglest: fix build
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sat Apr 20 08:20:00 UTC 2013
>Closed-Date:    Tue Jun 11 17:36:48 UTC 2013
>Last-Modified:  Tue Jun 11 17:40:00 UTC 2013
>Originator:     Stefan Ehmann
>Release:        FreeBSD 9.1-RELEASE-p1 amd64
>Organization:
>Environment:


System: FreeBSD 9.1-RELEASE-p1 #1 r247006M: Tue Feb 19 21:33:53 CET 2013
    stefan@walrus.pepperland:/usr/obj/usr/src/sys/WALRUS



>Description:


megaglest build fails with recent versions of miniupnpc

apply patch obtained from megaglest SVN r3958


>How-To-Repeat:





>Fix:


--- patch-megaglest-miniupnpc begins here ---
diff -ruN megaglest.org/files/patch-miniupnpc-1.7 megaglest/files/patch-miniupnpc-1.7
--- megaglest.org/files/patch-miniupnpc-1.7	1970-01-01 01:00:00.000000000 +0100
+++ megaglest/files/patch-miniupnpc-1.7	2013-04-20 09:57:15.000000000 +0200
@@ -0,0 +1,170 @@
+Index: source/shared_lib/sources/platform/posix/socket.cpp
+===================================================================
+--- source/shared_lib/sources/platform/posix/socket.cpp	(revision 3957)
++++ source/shared_lib/sources/platform/posix/socket.cpp	(revision 3958)
+@@ -2478,13 +2478,22 @@
+ 				if(SystemFlags::VERBOSE_MODE_ENABLED) printf("UPnP device found: %s %s\n", dev->descURL, dev->st);
+ 
+ 				//printf("UPnP device found: [%s] [%s] lanaddr [%s]\n", dev->descURL, dev->st,lanaddr);
++#ifndef MINIUPNPC_VERSION_PRE1_7
++				descXML = (char *)miniwget_getaddr(dev->descURL, &descXMLsize, lanaddr, (sizeof(lanaddr) / sizeof(lanaddr[0])),0);
++#else
+ 				descXML = (char *)miniwget_getaddr(dev->descURL, &descXMLsize, lanaddr, (sizeof(lanaddr) / sizeof(lanaddr[0])));
++#endif
+ 				if(SystemFlags::getSystemSettingType(SystemFlags::debugNetwork).enabled) SystemFlags::OutputDebug(SystemFlags::debugNetwork,"LAN address: %s\n", lanaddr);
+ 
+ 				if (descXML) {
+ 					parserootdesc (descXML, descXMLsize, &data);
+ 					free (descXML); descXML = 0;
++
++#ifndef MINIUPNPC_VERSION_PRE1_7
++					GetUPNPUrls (&urls, &data, dev->descURL,0);
++#else
+ 					GetUPNPUrls (&urls, &data, dev->descURL);
++#endif
+ 				}
+ 				snprintf(buf, 255,"UPnP device found: %s %s LAN address %s", dev->descURL, dev->st, lanaddr);
+ 
+Index: source/shared_lib/CMakeLists.txt
+===================================================================
+--- source/shared_lib/CMakeLists.txt	(revision 3957)
++++ source/shared_lib/CMakeLists.txt	(revision 3958)
+@@ -297,7 +297,12 @@
+ 		ADD_DEFINITIONS(-DMINIUPNPC_VERSION_PRE1_6)
+                 message(STATUS "Adding macro for miniupnpc version: pre v1.6")
+ 	ENDIF()
+-        IF(NOT MINIUPNPC_VERSION_PRE1_5 AND NOT MINIUPNPC_VERSION_PRE1_6)
++	IF(MINIUPNPC_VERSION_PRE1_7)
++		ADD_DEFINITIONS(-DMINIUPNPC_VERSION_PRE1_7)
++                message(STATUS "Adding macro for miniupnpc version: pre v1.7")
++	ENDIF()
++
++        IF(NOT MINIUPNPC_VERSION_PRE1_5 AND NOT MINIUPNPC_VERSION_PRE1_6 AND NOT MINIUPNPC_VERSION_PRE1_7)
+                 message(STATUS "**No macros required for miniupnpc version")
+         ENDIF()
+ 
+Index: mk/cmake/Modules/FindMiniupnpc.cmake
+===================================================================
+--- mk/cmake/Modules/FindMiniupnpc.cmake	(revision 3957)
++++ mk/cmake/Modules/FindMiniupnpc.cmake	(revision 3958)
+@@ -58,20 +58,16 @@
+     #include <stdio.h>
+     int main()
+     {
+-        struct UPNPDev *devlist = NULL;
+-	int upnp_delay = 5000;
+-	const char *upnp_multicastif = NULL;
+-	const char *upnp_minissdpdsock = NULL;
+-	int upnp_sameport = 0;
+-	int upnp_ipv6 = 0;
+-	int upnp_error = 0;
+-	devlist = upnpDiscover(upnp_delay, upnp_multicastif, upnp_minissdpdsock, upnp_sameport, upnp_ipv6, &upnp_error);
++        static struct UPNPUrls urls;
++        static struct IGDdatas data;
+ 
++        GetUPNPUrls (&urls, &data, \"myurl\",0);
++
+         return 0;
+     }"
+-   MINIUPNPC_VERSION_1_6_OR_HIGHER)
+-    
+-   IF (NOT MINIUPNPC_VERSION_1_6_OR_HIGHER)
++   MINIUPNPC_VERSION_1_7_OR_HIGHER)
++
++  IF (NOT MINIUPNPC_VERSION_1_7_OR_HIGHER)
+           set(CMAKE_REQUIRED_INCLUDES ${MINIUPNP_INCLUDE_DIR})
+           set(CMAKE_REQUIRED_LIBRARIES ${MINIUPNP_LIBRARY})
+           check_cxx_source_runs("
+@@ -88,6 +84,30 @@
+ 	        int upnp_sameport = 0;
+ 	        int upnp_ipv6 = 0;
+ 	        int upnp_error = 0;
++	        devlist = upnpDiscover(upnp_delay, upnp_multicastif, upnp_minissdpdsock, upnp_sameport, upnp_ipv6, &upnp_error);
++
++                return 0;
++            }"
++           MINIUPNPC_VERSION_PRE1_7)
++   ENDIF()
++ 
++   IF (NOT MINIUPNPC_VERSION_PRE1_7 AND NOT MINIUPNPC_VERSION_1_7_OR_HIGHER)
++          set(CMAKE_REQUIRED_INCLUDES ${MINIUPNP_INCLUDE_DIR})
++          set(CMAKE_REQUIRED_LIBRARIES ${MINIUPNP_LIBRARY})
++          check_cxx_source_runs("
++            #include <miniwget.h>
++            #include <miniupnpc.h>
++            #include <upnpcommands.h>
++            #include <stdio.h>
++            int main()
++            {
++                struct UPNPDev *devlist = NULL;
++	        int upnp_delay = 5000;
++	        const char *upnp_multicastif = NULL;
++	        const char *upnp_minissdpdsock = NULL;
++	        int upnp_sameport = 0;
++	        int upnp_ipv6 = 0;
++	        int upnp_error = 0;
+ 	        devlist = upnpDiscover(upnp_delay, upnp_multicastif, upnp_minissdpdsock, upnp_sameport);
+ 
+                 return 0;
+@@ -96,25 +116,27 @@
+ 
+    ENDIF()
+ 
+-   set(CMAKE_REQUIRED_INCLUDES ${MINIUPNP_INCLUDE_DIR})
+-   set(CMAKE_REQUIRED_LIBRARIES ${MINIUPNP_LIBRARY})
+-   check_cxx_source_runs("
+-    #include <miniwget.h>
+-    #include <miniupnpc.h>
+-    #include <upnpcommands.h>
+-    #include <stdio.h>
+-    static struct UPNPUrls urls;
+-    static struct IGDdatas data;
+-    int main()
+-    {
+-        char externalIP[16]     = "";
+-	UPNP_GetExternalIPAddress(urls.controlURL, data.first.servicetype, externalIP);
++   IF (NOT MINIUPNPC_VERSION_PRE1_6 AND NOT MINIUPNPC_VERSION_PRE1_7 AND NOT MINIUPNPC_VERSION_1_7_OR_HIGHER)
++           set(CMAKE_REQUIRED_INCLUDES ${MINIUPNP_INCLUDE_DIR})
++           set(CMAKE_REQUIRED_LIBRARIES ${MINIUPNP_LIBRARY})
++           check_cxx_source_runs("
++            #include <miniwget.h>
++            #include <miniupnpc.h>
++            #include <upnpcommands.h>
++            #include <stdio.h>
++            static struct UPNPUrls urls;
++            static struct IGDdatas data;
++            int main()
++            {
++                char externalIP[16]     = "";
++	        UPNP_GetExternalIPAddress(urls.controlURL, data.first.servicetype, externalIP);
+ 
+-        return 0;
+-    }"
+-    MINIUPNPC_VERSION_1_5_OR_HIGHER)
++                return 0;
++            }"
++            MINIUPNPC_VERSION_1_5_OR_HIGHER)
++    ENDIF()
+ 
+-    IF (NOT MINIUPNPC_VERSION_1_5_OR_HIGHER)
++    IF (NOT MINIUPNPC_VERSION_1_5_OR_HIGHER AND NOT MINIUPNPC_VERSION_PRE1_6 AND NOT MINIUPNPC_VERSION_PRE1_7 AND NOT MINIUPNPC_VERSION_1_7_OR_HIGHER)
+          set(CMAKE_REQUIRED_INCLUDES ${MINIUPNP_INCLUDE_DIR})
+          set(CMAKE_REQUIRED_LIBRARIES ${MINIUPNP_LIBRARY})
+          check_cxx_source_runs("
+@@ -141,10 +163,14 @@
+     IF(MINIUPNPC_VERSION_PRE1_6)
+ 	message(STATUS "Found miniupnpc version is pre v1.6")
+     ENDIF()
+-    IF(NOT MINIUPNPC_VERSION_PRE1_5 AND NOT MINIUPNPC_VERSION_PRE1_6)
+-	message(STATUS "Found miniupnpc version is v1.6 or higher")
++    IF(MINIUPNPC_VERSION_PRE1_7)
++	message(STATUS "Found miniupnpc version is pre v1.7")
+     ENDIF()
+ 
++    IF(NOT MINIUPNPC_VERSION_PRE1_5 AND NOT MINIUPNPC_VERSION_PRE1_6 AND NOT MINIUPNPC_VERSION_PRE1_7)
++	message(STATUS "Found miniupnpc version is v1.7 or higher")
++    ENDIF()
++
+ else ()
+     message (STATUS "Could not find miniupnp")
+ endif ()
--- patch-megaglest-miniupnpc ends here ---



>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->feedback 
State-Changed-By: edwin 
State-Changed-When: Sat Apr 20 08:20:09 UTC 2013 
State-Changed-Why:  
Awaiting maintainers feedback (via the GNATS Auto Assign Tool) 

http://www.freebsd.org/cgi/query-pr.cgi?pr=177987 

From: Edwin Groothuis <edwin@FreeBSD.org>
To: rnejdl@ringofsaturn.com
Cc: bug-followup@FreeBSD.org
Subject: Re: ports/177987: games/megaglest: fix build
Date: Sat, 20 Apr 2013 08:20:08 UT

 Maintainer of games/megaglest,
 
 Please note that PR ports/177987 has just been submitted.
 
 If it contains a patch for an upgrade, an enhancement or a bug fix
 you agree on, reply to this email stating that you approve the patch
 and a committer will take care of it.
 
 The full text of the PR can be found at:
     http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/177987
 
 -- 
 Edwin Groothuis via the GNATS Auto Assign Tool
 edwin@FreeBSD.org

From: Rusty Nejdl <rnejdl@ringofsaturn.com>
To: <bug-followup@freebsd.org>, <shoesoft@gmx.net>
Cc:  
Subject: Re: ports/177987: games/megaglest: fix build
Date: Fri, 26 Apr 2013 15:46:16 -0500

 --=_084cac4c58a7267ee99f5b97c9f009cc
 Content-Transfer-Encoding: 7bit
 Content-Type: text/plain; charset=UTF-8
 
  
 
 I have been unable to get this patch to work as it currently is with
 miniupc version 1.8 that I have installed so I will need to do some
 additional tooling on this. 
 
 Rusty Nejdl 
  
 --=_084cac4c58a7267ee99f5b97c9f009cc--
 

From: Stefan Ehmann <shoesoft@gmx.net>
To: rnejdl@ringofsaturn.com
Cc: bug-followup@freebsd.org
Subject: Re: ports/177987: games/megaglest: fix build
Date: Sat, 27 Apr 2013 11:42:18 +0200

 On 04/26/2013 22:46, Rusty Nejdl wrote:
 >
 >
 > I have been unable to get this patch to work as it currently is with
 > miniupc version 1.8 that I have installed so I will need to do some
 > additional tooling on this.
 
 That's strange. It works here with up-to-date ports tree and miniupnpc-1.8.
 
 Do you see the following output during configure?
 -- Performing Test MINIUPNPC_VERSION_1_7_OR_HIGHER
 -- Performing Test MINIUPNPC_VERSION_1_7_OR_HIGHER - Success

From: Rusty Nejdl <rnejdl@ringofsaturn.com>
To: Stefan Ehmann <shoesoft@gmx.net>
Cc: <bug-followup@freebsd.org>
Subject: Re: ports/177987: games/megaglest: fix build
Date: Sat, 27 Apr 2013 10:21:52 -0500

 --=_7e0ff1f51ee12aefeb820548b0467bbf
 Content-Transfer-Encoding: 7bit
 Content-Type: text/plain; charset=UTF-8
 
  
 
 On 2013-04-27 04:42, Stefan Ehmann wrote: 
 
 > On 04/26/2013 22:46,
 Rusty Nejdl wrote:
 > 
 >> I have been unable to get this patch to work as
 it currently is with miniupc version 1.8 that I have installed so I will
 need to do some additional tooling on this.
 > 
 > That's strange. It
 works here with up-to-date ports tree and miniupnpc-1.8.
 > 
 > Do you see
 the following output during configure?
 > -- Performing Test
 MINIUPNPC_VERSION_1_7_OR_HIGHER
 > -- Performing Test
 MINIUPNPC_VERSION_1_7_OR_HIGHER - Success
 
 Yeah, it's not doing that for
 whatever reason: 
 
 -- Found the miniupnpc headers at
 /usr/local/include/miniupnpc
 -- Detecting version of miniupnpc in path:
 /usr/local/include/miniupnpc
 -- Performing Test
 MINIUPNPC_VERSION_1_6_OR_HIGHER
 -- Performing Test
 MINIUPNPC_VERSION_1_6_OR_HIGHER - Success
 -- Found miniupnpc version is
 v1.6 or higher
 -- *** Using SHARED miniupnpc found in
 [/usr/local/include/miniupnpc] MINIUPNP_FOUND [TRUE] MINIUPNP_LIBRARY
 [/usr/local/lib/libminiupnpc.so]
 -- **No macros required for miniupnpc
 version
 
 For some reason, it is completely ignoring the patch on my
 system and I can't figure out why.
 
 
 [tethys]:/usr/ports/games/megaglest> ls -al files/
 total 20
 drwxr-xr-x
 2 root wheel 512 Apr 27 10:12 ./
 drwxr-xr-x 4 root wheel 512 Apr 27
 10:14 ../
 -rw-r--r-- 1 root wheel 333 Nov 24 20:32
 patch-PNGReader.cpp
 -rw-r--r-- 1 root wheel 7127 Apr 27 10:12
 patch-megaglest-miniupnpc
 -rw-r--r-- 1 root wheel 465 Nov 27 09:26
 patch-source-shared_lib-CMakeLists.txt
 -rw-r--r-- 1 root wheel 462 Nov
 27 09:26
 patch-source-shared_lib-sources-platform-posix-ircclient.cpp
 -rw-r--r--
 1 root wheel 697 Nov 24 20:32
 pkg-message.in
 [tethys]:/usr/ports/games/megaglest> 
 
 Rusty 
  
 --=_7e0ff1f51ee12aefeb820548b0467bbf
 Content-Transfer-Encoding: quoted-printable
 Content-Type: text/html; charset=UTF-8
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
 <html><body style=3D'font-family: Helvetica,Arial,sans-serif'>
 <p>On 2013-04-27 04:42, Stefan Ehmann wrote:</p>
 <blockquote type=3D"cite" style=3D"padding-left:5px; border-left:#1010ff 2p=
 x solid; margin-left:5px; width:100%"><!-- html ignored --><!-- head ignore=
 d --><!-- meta ignored -->
 <pre>On 04/26/2013 22:46, Rusty Nejdl wrote:</pre>
 <blockquote type=3D"cite" style=3D"padding-left:5px; border-left:#1010ff 2p=
 x solid; margin-left:5px; width:100%">I have been unable to get this patch =
 to work as it currently is with miniupc version 1.8 that I have installed s=
 o I will need to do some additional tooling on this.</blockquote>
 <pre>That's strange. It works here with up-to-date ports tree and miniupnpc=
 -1.8.
 
 Do you see the following output during configure?
 -- Performing Test MINIUPNPC_VERSION_1_7_OR_HIGHER
 -- Performing Test MINIUPNPC_VERSION_1_7_OR_HIGHER - Success
 </pre>
 </blockquote>
 <p>Yeah, it's not doing that for whatever reason:</p>
 <p>-- Found the miniupnpc headers at /usr/local/include/miniupnpc<br />-- D=
 etecting version of miniupnpc in path: /usr/local/include/miniupnpc<br />--=
  Performing Test MINIUPNPC_VERSION_1_6_OR_HIGHER<br />-- Performing Test MI=
 NIUPNPC_VERSION_1_6_OR_HIGHER - Success<br />-- Found miniupnpc version is =
 v1.6 or higher<br />-- *** Using SHARED miniupnpc found in [/usr/local/incl=
 ude/miniupnpc] MINIUPNP_FOUND [TRUE] MINIUPNP_LIBRARY [/usr/local/lib/libmi=
 niupnpc.so]<br />-- **No macros required for miniupnpc version<br /><br /><=
 /p>
 <p>For some reason, it is completely ignoring the patch on my system and I =
 can't figure out why.</p>
 <p>[tethys]:/usr/ports/games/megaglest&gt; ls -al files/<br />total 20<br /=
 >drwxr-xr-x&nbsp; 2 root&nbsp; wheel&nbsp;&nbsp; 512 Apr 27 10:12 ./<br />d=
 rwxr-xr-x&nbsp; 4 root&nbsp; wheel&nbsp;&nbsp; 512 Apr 27 10:14 ../<br />-r=
 w-r--r--&nbsp; 1 root&nbsp; wheel&nbsp;&nbsp; 333 Nov 24 20:32 patch-PNGRea=
 der.cpp<br />-rw-r--r--&nbsp; 1 root&nbsp; wheel&nbsp; 7127 Apr 27 10:12 pa=
 tch-megaglest-miniupnpc<br />-rw-r--r--&nbsp; 1 root&nbsp; wheel&nbsp;&nbsp=
 ; 465 Nov 27 09:26 patch-source-shared_lib-CMakeLists.txt<br />-rw-r--r--&n=
 bsp; 1 root&nbsp; wheel&nbsp;&nbsp; 462 Nov 27 09:26 patch-source-shared_li=
 b-sources-platform-posix-ircclient.cpp<br />-rw-r--r--&nbsp; 1 root&nbsp; w=
 heel&nbsp;&nbsp; 697 Nov 24 20:32 pkg-message.in<br />[tethys]:/usr/ports/g=
 ames/megaglest&gt; <br /><br /></p>
 <p>Rusty</p>
 <div>&nbsp;</div>
 </body></html>
 
 --=_7e0ff1f51ee12aefeb820548b0467bbf--
 

From: Rusty Nejdl <rnejdl@ringofsaturn.com>
To: Stefan Ehmann <shoesoft@gmx.net>
Cc: <bug-followup@freebsd.org>
Subject: Re: ports/177987: games/megaglest: fix build
Date: Wed, 15 May 2013 21:50:31 -0500

 --=_936c1bc052f283f50373db504dc92334
 Content-Type: multipart/alternative;
  boundary="=_10f46fe6d9f9e5100edd459434fd57a3"
 
 --=_10f46fe6d9f9e5100edd459434fd57a3
 Content-Transfer-Encoding: 7bit
 Content-Type: text/plain; charset=UTF-8
 
  
 
 On 2013-04-27 04:42, Stefan Ehmann wrote: 
 
 > On 04/26/2013 22:46,
 Rusty Nejdl wrote:
 > 
 >> I have been unable to get this patch to work as
 it currently is with miniupc version 1.8 that I have installed so I will
 need to do some additional tooling on this.
 > 
 > That's strange. It
 works here with up-to-date ports tree and miniupnpc-1.8.
 > 
 > Do you see
 the following output during configure?
 > -- Performing Test
 MINIUPNPC_VERSION_1_7_OR_HIGHER
 > -- Performing Test
 MINIUPNPC_VERSION_1_7_OR_HIGHER - Success
 
 I have this working now with
 as I had to merge one patch and redo the other. 
 
 Rusty 
  
 --=_10f46fe6d9f9e5100edd459434fd57a3
 Content-Transfer-Encoding: quoted-printable
 Content-Type: text/html; charset=UTF-8
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
 <html><body style=3D'font-family: Helvetica,Arial,sans-serif'>
 <p>On 2013-04-27 04:42, Stefan Ehmann wrote:</p>
 <blockquote type=3D"cite" style=3D"padding-left:5px; border-left:#1010ff 2p=
 x solid; margin-left:5px; width:100%"><!-- html ignored --><!-- head ignore=
 d --><!-- meta ignored -->
 <pre>On 04/26/2013 22:46, Rusty Nejdl wrote:</pre>
 <blockquote type=3D"cite" style=3D"padding-left:5px; border-left:#1010ff 2p=
 x solid; margin-left:5px; width:100%">I have been unable to get this patch =
 to work as it currently is with miniupc version 1.8 that I have installed s=
 o I will need to do some additional tooling on this.</blockquote>
 <pre>That's strange. It works here with up-to-date ports tree and miniupnpc=
 -1.8.
 
 Do you see the following output during configure?
 -- Performing Test MINIUPNPC_VERSION_1_7_OR_HIGHER
 -- Performing Test MINIUPNPC_VERSION_1_7_OR_HIGHER - Success
 </pre>
 </blockquote>
 <p>I have this working now with as I had to merge one patch and redo the ot=
 her.</p>
 <p>Rusty</p>
 <div>&nbsp;</div>
 </body></html>
 
 --=_10f46fe6d9f9e5100edd459434fd57a3--
 
 --=_936c1bc052f283f50373db504dc92334
 Content-Transfer-Encoding: base64
 Content-Type: application/octet-stream;
  name=megaglest-miniupnpc-patch
 Content-Disposition: attachment;
  filename=megaglest-miniupnpc-patch;
  size=16144
 
 ZGlmZiAtcnVOIG1lZ2FnbGVzdC9NYWtlZmlsZSBtZWdhZ2xlc3QubmV3L01ha2VmaWxlCi0tLSBt
 ZWdhZ2xlc3QvTWFrZWZpbGUJMjAxMy0wMy0yMyAwNzo0NTowOS4wMDAwMDAwMDAgLTA1MDAKKysr
 IG1lZ2FnbGVzdC5uZXcvTWFrZWZpbGUJMjAxMy0wNS0xNSAyMTo0ODozMi4wMDAwMDAwMDAgLTA1
 MDAKQEAgLTMsNiArMyw3IEBACiAKIFBPUlROQU1FPQltZWdhZ2xlc3QKIFBPUlRWRVJTSU9OPQkz
 LjcuMQorUE9SVFJFVklTSU9OPQkxCiBDQVRFR09SSUVTPQlnYW1lcwogTUFTVEVSX1NJVEVTPQlT
 Ri8ke1BPUlROQU1FfS8ke1BPUlROQU1FfV8ke1BPUlRWRVJTSU9OfS8KIERJU1ROQU1FPQkke1BP
 UlROQU1FfS1zb3VyY2UtJHtQT1JUVkVSU0lPTn0KZGlmZiAtcnVOIG1lZ2FnbGVzdC9maWxlcy9w
 YXRjaC1tZWdhZ2xlc3QtbWluaXVwbnBjIG1lZ2FnbGVzdC5uZXcvZmlsZXMvcGF0Y2gtbWVnYWds
 ZXN0LW1pbml1cG5wYwotLS0gbWVnYWdsZXN0L2ZpbGVzL3BhdGNoLW1lZ2FnbGVzdC1taW5pdXBu
 cGMJMjAxMy0wNC0yNyAxMDoxMjowMy4wMDAwMDAwMDAgLTA1MDAKKysrIG1lZ2FnbGVzdC5uZXcv
 ZmlsZXMvcGF0Y2gtbWVnYWdsZXN0LW1pbml1cG5wYwkxOTY5LTEyLTMxIDE4OjAwOjAwLjAwMDAw
 MDAwMCAtMDYwMApAQCAtMSwxNzQgKzAsMCBAQAotZGlmZiAtcnVOIG1lZ2FnbGVzdC5vcmcvZmls
 ZXMvcGF0Y2gtbWluaXVwbnBjLTEuNyBtZWdhZ2xlc3QvZmlsZXMvcGF0Y2gtbWluaXVwbnBjLTEu
 NwotLS0tIG1lZ2FnbGVzdC5vcmcvZmlsZXMvcGF0Y2gtbWluaXVwbnBjLTEuNwkxOTcwLTAxLTAx
 IDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAotKysrIG1lZ2FnbGVzdC9maWxlcy9wYXRjaC1taW5p
 dXBucGMtMS43CTIwMTMtMDQtMjAgMDk6NTc6MTUuMDAwMDAwMDAwICswMjAwCi1AQCAtMCwwICsx
 LDE3MCBAQAotK0luZGV4OiBzb3VyY2Uvc2hhcmVkX2xpYi9zb3VyY2VzL3BsYXRmb3JtL3Bvc2l4
 L3NvY2tldC5jcHAKLSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09Ci0rLS0tIHNvdXJjZS9zaGFyZWRfbGliL3NvdXJjZXMv
 cGxhdGZvcm0vcG9zaXgvc29ja2V0LmNwcAkocmV2aXNpb24gMzk1NykKLSsrKysgc291cmNlL3No
 YXJlZF9saWIvc291cmNlcy9wbGF0Zm9ybS9wb3NpeC9zb2NrZXQuY3BwCShyZXZpc2lvbiAzOTU4
 KQotK0BAIC0yNDc4LDEzICsyNDc4LDIyIEBACi0rIAkJCQlpZihTeXN0ZW1GbGFnczo6VkVSQk9T
 RV9NT0RFX0VOQUJMRUQpIHByaW50ZigiVVBuUCBkZXZpY2UgZm91bmQ6ICVzICVzXG4iLCBkZXYt
 PmRlc2NVUkwsIGRldi0+c3QpOwotKyAKLSsgCQkJCS8vcHJpbnRmKCJVUG5QIGRldmljZSBmb3Vu
 ZDogWyVzXSBbJXNdIGxhbmFkZHIgWyVzXVxuIiwgZGV2LT5kZXNjVVJMLCBkZXYtPnN0LGxhbmFk
 ZHIpOwotKysjaWZuZGVmIE1JTklVUE5QQ19WRVJTSU9OX1BSRTFfNwotKysJCQkJZGVzY1hNTCA9
 IChjaGFyICopbWluaXdnZXRfZ2V0YWRkcihkZXYtPmRlc2NVUkwsICZkZXNjWE1Mc2l6ZSwgbGFu
 YWRkciwgKHNpemVvZihsYW5hZGRyKSAvIHNpemVvZihsYW5hZGRyWzBdKSksMCk7Ci0rKyNlbHNl
 Ci0rIAkJCQlkZXNjWE1MID0gKGNoYXIgKiltaW5pd2dldF9nZXRhZGRyKGRldi0+ZGVzY1VSTCwg
 JmRlc2NYTUxzaXplLCBsYW5hZGRyLCAoc2l6ZW9mKGxhbmFkZHIpIC8gc2l6ZW9mKGxhbmFkZHJb
 MF0pKSk7Ci0rKyNlbmRpZgotKyAJCQkJaWYoU3lzdGVtRmxhZ3M6OmdldFN5c3RlbVNldHRpbmdU
 eXBlKFN5c3RlbUZsYWdzOjpkZWJ1Z05ldHdvcmspLmVuYWJsZWQpIFN5c3RlbUZsYWdzOjpPdXRw
 dXREZWJ1ZyhTeXN0ZW1GbGFnczo6ZGVidWdOZXR3b3JrLCJMQU4gYWRkcmVzczogJXNcbiIsIGxh
 bmFkZHIpOwotKyAKLSsgCQkJCWlmIChkZXNjWE1MKSB7Ci0rIAkJCQkJcGFyc2Vyb290ZGVzYyAo
 ZGVzY1hNTCwgZGVzY1hNTHNpemUsICZkYXRhKTsKLSsgCQkJCQlmcmVlIChkZXNjWE1MKTsgZGVz
 Y1hNTCA9IDA7Ci0rKwotKysjaWZuZGVmIE1JTklVUE5QQ19WRVJTSU9OX1BSRTFfNwotKysJCQkJ
 CUdldFVQTlBVcmxzICgmdXJscywgJmRhdGEsIGRldi0+ZGVzY1VSTCwwKTsKLSsrI2Vsc2UKLSsg
 CQkJCQlHZXRVUE5QVXJscyAoJnVybHMsICZkYXRhLCBkZXYtPmRlc2NVUkwpOwotKysjZW5kaWYK
 LSsgCQkJCX0KLSsgCQkJCXNucHJpbnRmKGJ1ZiwgMjU1LCJVUG5QIGRldmljZSBmb3VuZDogJXMg
 JXMgTEFOIGFkZHJlc3MgJXMiLCBkZXYtPmRlc2NVUkwsIGRldi0+c3QsIGxhbmFkZHIpOwotKyAK
 LStJbmRleDogc291cmNlL3NoYXJlZF9saWIvQ01ha2VMaXN0cy50eHQKLSs9PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0r
 LS0tIHNvdXJjZS9zaGFyZWRfbGliL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAzOTU3KQotKysr
 KyBzb3VyY2Uvc2hhcmVkX2xpYi9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMzk1OCkKLStAQCAt
 Mjk3LDcgKzI5NywxMiBAQAotKyAJCUFERF9ERUZJTklUSU9OUygtRE1JTklVUE5QQ19WRVJTSU9O
 X1BSRTFfNikKLSsgICAgICAgICAgICAgICAgIG1lc3NhZ2UoU1RBVFVTICJBZGRpbmcgbWFjcm8g
 Zm9yIG1pbml1cG5wYyB2ZXJzaW9uOiBwcmUgdjEuNiIpCi0rIAlFTkRJRigpCi0rLSAgICAgICAg
 SUYoTk9UIE1JTklVUE5QQ19WRVJTSU9OX1BSRTFfNSBBTkQgTk9UIE1JTklVUE5QQ19WRVJTSU9O
 X1BSRTFfNikKLSsrCUlGKE1JTklVUE5QQ19WRVJTSU9OX1BSRTFfNykKLSsrCQlBRERfREVGSU5J
 VElPTlMoLURNSU5JVVBOUENfVkVSU0lPTl9QUkUxXzcpCi0rKyAgICAgICAgICAgICAgICBtZXNz
 YWdlKFNUQVRVUyAiQWRkaW5nIG1hY3JvIGZvciBtaW5pdXBucGMgdmVyc2lvbjogcHJlIHYxLjci
 KQotKysJRU5ESUYoKQotKysKLSsrICAgICAgICBJRihOT1QgTUlOSVVQTlBDX1ZFUlNJT05fUFJF
 MV81IEFORCBOT1QgTUlOSVVQTlBDX1ZFUlNJT05fUFJFMV82IEFORCBOT1QgTUlOSVVQTlBDX1ZF
 UlNJT05fUFJFMV83KQotKyAgICAgICAgICAgICAgICAgbWVzc2FnZShTVEFUVVMgIioqTm8gbWFj
 cm9zIHJlcXVpcmVkIGZvciBtaW5pdXBucGMgdmVyc2lvbiIpCi0rICAgICAgICAgRU5ESUYoKQot
 KyAKLStJbmRleDogbWsvY21ha2UvTW9kdWxlcy9GaW5kTWluaXVwbnBjLmNtYWtlCi0rPT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PQotKy0tLSBtay9jbWFrZS9Nb2R1bGVzL0ZpbmRNaW5pdXBucGMuY21ha2UJKHJldmlzaW9u
 IDM5NTcpCi0rKysrIG1rL2NtYWtlL01vZHVsZXMvRmluZE1pbml1cG5wYy5jbWFrZQkocmV2aXNp
 b24gMzk1OCkKLStAQCAtNTgsMjAgKzU4LDE2IEBACi0rICAgICAjaW5jbHVkZSA8c3RkaW8uaD4K
 LSsgICAgIGludCBtYWluKCkKLSsgICAgIHsKLSstICAgICAgICBzdHJ1Y3QgVVBOUERldiAqZGV2
 bGlzdCA9IE5VTEw7Ci0rLQlpbnQgdXBucF9kZWxheSA9IDUwMDA7Ci0rLQljb25zdCBjaGFyICp1
 cG5wX211bHRpY2FzdGlmID0gTlVMTDsKLSstCWNvbnN0IGNoYXIgKnVwbnBfbWluaXNzZHBkc29j
 ayA9IE5VTEw7Ci0rLQlpbnQgdXBucF9zYW1lcG9ydCA9IDA7Ci0rLQlpbnQgdXBucF9pcHY2ID0g
 MDsKLSstCWludCB1cG5wX2Vycm9yID0gMDsKLSstCWRldmxpc3QgPSB1cG5wRGlzY292ZXIodXBu
 cF9kZWxheSwgdXBucF9tdWx0aWNhc3RpZiwgdXBucF9taW5pc3NkcGRzb2NrLCB1cG5wX3NhbWVw
 b3J0LCB1cG5wX2lwdjYsICZ1cG5wX2Vycm9yKTsKLSsrICAgICAgICBzdGF0aWMgc3RydWN0IFVQ
 TlBVcmxzIHVybHM7Ci0rKyAgICAgICAgc3RhdGljIHN0cnVjdCBJR0RkYXRhcyBkYXRhOwotKyAK
 LSsrICAgICAgICBHZXRVUE5QVXJscyAoJnVybHMsICZkYXRhLCBcIm15dXJsXCIsMCk7Ci0rKwot
 KyAgICAgICAgIHJldHVybiAwOwotKyAgICAgfSIKLSstICAgTUlOSVVQTlBDX1ZFUlNJT05fMV82
 X09SX0hJR0hFUikKLSstICAgIAotKy0gICBJRiAoTk9UIE1JTklVUE5QQ19WRVJTSU9OXzFfNl9P
 Ul9ISUdIRVIpCi0rKyAgIE1JTklVUE5QQ19WRVJTSU9OXzFfN19PUl9ISUdIRVIpCi0rKwotKysg
 IElGIChOT1QgTUlOSVVQTlBDX1ZFUlNJT05fMV83X09SX0hJR0hFUikKLSsgICAgICAgICAgIHNl
 dChDTUFLRV9SRVFVSVJFRF9JTkNMVURFUyAke01JTklVUE5QX0lOQ0xVREVfRElSfSkKLSsgICAg
 ICAgICAgIHNldChDTUFLRV9SRVFVSVJFRF9MSUJSQVJJRVMgJHtNSU5JVVBOUF9MSUJSQVJZfSkK
 LSsgICAgICAgICAgIGNoZWNrX2N4eF9zb3VyY2VfcnVucygiCi0rQEAgLTg4LDYgKzg0LDMwIEBA
 Ci0rIAkgICAgICAgIGludCB1cG5wX3NhbWVwb3J0ID0gMDsKLSsgCSAgICAgICAgaW50IHVwbnBf
 aXB2NiA9IDA7Ci0rIAkgICAgICAgIGludCB1cG5wX2Vycm9yID0gMDsKLSsrCSAgICAgICAgZGV2
 bGlzdCA9IHVwbnBEaXNjb3Zlcih1cG5wX2RlbGF5LCB1cG5wX211bHRpY2FzdGlmLCB1cG5wX21p
 bmlzc2RwZHNvY2ssIHVwbnBfc2FtZXBvcnQsIHVwbnBfaXB2NiwgJnVwbnBfZXJyb3IpOwotKysK
 LSsrICAgICAgICAgICAgICAgIHJldHVybiAwOwotKysgICAgICAgICAgICB9IgotKysgICAgICAg
 ICAgIE1JTklVUE5QQ19WRVJTSU9OX1BSRTFfNykKLSsrICAgRU5ESUYoKQotKysgCi0rKyAgIElG
 IChOT1QgTUlOSVVQTlBDX1ZFUlNJT05fUFJFMV83IEFORCBOT1QgTUlOSVVQTlBDX1ZFUlNJT05f
 MV83X09SX0hJR0hFUikKLSsrICAgICAgICAgIHNldChDTUFLRV9SRVFVSVJFRF9JTkNMVURFUyAk
 e01JTklVUE5QX0lOQ0xVREVfRElSfSkKLSsrICAgICAgICAgIHNldChDTUFLRV9SRVFVSVJFRF9M
 SUJSQVJJRVMgJHtNSU5JVVBOUF9MSUJSQVJZfSkKLSsrICAgICAgICAgIGNoZWNrX2N4eF9zb3Vy
 Y2VfcnVucygiCi0rKyAgICAgICAgICAgICNpbmNsdWRlIDxtaW5pd2dldC5oPgotKysgICAgICAg
 ICAgICAjaW5jbHVkZSA8bWluaXVwbnBjLmg+Ci0rKyAgICAgICAgICAgICNpbmNsdWRlIDx1cG5w
 Y29tbWFuZHMuaD4KLSsrICAgICAgICAgICAgI2luY2x1ZGUgPHN0ZGlvLmg+Ci0rKyAgICAgICAg
 ICAgIGludCBtYWluKCkKLSsrICAgICAgICAgICAgewotKysgICAgICAgICAgICAgICAgc3RydWN0
 IFVQTlBEZXYgKmRldmxpc3QgPSBOVUxMOwotKysJICAgICAgICBpbnQgdXBucF9kZWxheSA9IDUw
 MDA7Ci0rKwkgICAgICAgIGNvbnN0IGNoYXIgKnVwbnBfbXVsdGljYXN0aWYgPSBOVUxMOwotKysJ
 ICAgICAgICBjb25zdCBjaGFyICp1cG5wX21pbmlzc2RwZHNvY2sgPSBOVUxMOwotKysJICAgICAg
 ICBpbnQgdXBucF9zYW1lcG9ydCA9IDA7Ci0rKwkgICAgICAgIGludCB1cG5wX2lwdjYgPSAwOwot
 KysJICAgICAgICBpbnQgdXBucF9lcnJvciA9IDA7Ci0rIAkgICAgICAgIGRldmxpc3QgPSB1cG5w
 RGlzY292ZXIodXBucF9kZWxheSwgdXBucF9tdWx0aWNhc3RpZiwgdXBucF9taW5pc3NkcGRzb2Nr
 LCB1cG5wX3NhbWVwb3J0KTsKLSsgCi0rICAgICAgICAgICAgICAgICByZXR1cm4gMDsKLStAQCAt
 OTYsMjUgKzExNiwyNyBAQAotKyAKLSsgICAgRU5ESUYoKQotKyAKLSstICAgc2V0KENNQUtFX1JF
 UVVJUkVEX0lOQ0xVREVTICR7TUlOSVVQTlBfSU5DTFVERV9ESVJ9KQotKy0gICBzZXQoQ01BS0Vf
 UkVRVUlSRURfTElCUkFSSUVTICR7TUlOSVVQTlBfTElCUkFSWX0pCi0rLSAgIGNoZWNrX2N4eF9z
 b3VyY2VfcnVucygiCi0rLSAgICAjaW5jbHVkZSA8bWluaXdnZXQuaD4KLSstICAgICNpbmNsdWRl
 IDxtaW5pdXBucGMuaD4KLSstICAgICNpbmNsdWRlIDx1cG5wY29tbWFuZHMuaD4KLSstICAgICNp
 bmNsdWRlIDxzdGRpby5oPgotKy0gICAgc3RhdGljIHN0cnVjdCBVUE5QVXJscyB1cmxzOwotKy0g
 ICAgc3RhdGljIHN0cnVjdCBJR0RkYXRhcyBkYXRhOwotKy0gICAgaW50IG1haW4oKQotKy0gICAg
 ewotKy0gICAgICAgIGNoYXIgZXh0ZXJuYWxJUFsxNl0gICAgID0gIiI7Ci0rLQlVUE5QX0dldEV4
 dGVybmFsSVBBZGRyZXNzKHVybHMuY29udHJvbFVSTCwgZGF0YS5maXJzdC5zZXJ2aWNldHlwZSwg
 ZXh0ZXJuYWxJUCk7Ci0rKyAgIElGIChOT1QgTUlOSVVQTlBDX1ZFUlNJT05fUFJFMV82IEFORCBO
 T1QgTUlOSVVQTlBDX1ZFUlNJT05fUFJFMV83IEFORCBOT1QgTUlOSVVQTlBDX1ZFUlNJT05fMV83
 X09SX0hJR0hFUikKLSsrICAgICAgICAgICBzZXQoQ01BS0VfUkVRVUlSRURfSU5DTFVERVMgJHtN
 SU5JVVBOUF9JTkNMVURFX0RJUn0pCi0rKyAgICAgICAgICAgc2V0KENNQUtFX1JFUVVJUkVEX0xJ
 QlJBUklFUyAke01JTklVUE5QX0xJQlJBUll9KQotKysgICAgICAgICAgIGNoZWNrX2N4eF9zb3Vy
 Y2VfcnVucygiCi0rKyAgICAgICAgICAgICNpbmNsdWRlIDxtaW5pd2dldC5oPgotKysgICAgICAg
 ICAgICAjaW5jbHVkZSA8bWluaXVwbnBjLmg+Ci0rKyAgICAgICAgICAgICNpbmNsdWRlIDx1cG5w
 Y29tbWFuZHMuaD4KLSsrICAgICAgICAgICAgI2luY2x1ZGUgPHN0ZGlvLmg+Ci0rKyAgICAgICAg
 ICAgIHN0YXRpYyBzdHJ1Y3QgVVBOUFVybHMgdXJsczsKLSsrICAgICAgICAgICAgc3RhdGljIHN0
 cnVjdCBJR0RkYXRhcyBkYXRhOwotKysgICAgICAgICAgICBpbnQgbWFpbigpCi0rKyAgICAgICAg
 ICAgIHsKLSsrICAgICAgICAgICAgICAgIGNoYXIgZXh0ZXJuYWxJUFsxNl0gICAgID0gIiI7Ci0r
 KwkgICAgICAgIFVQTlBfR2V0RXh0ZXJuYWxJUEFkZHJlc3ModXJscy5jb250cm9sVVJMLCBkYXRh
 LmZpcnN0LnNlcnZpY2V0eXBlLCBleHRlcm5hbElQKTsKLSsgCi0rLSAgICAgICAgcmV0dXJuIDA7
 Ci0rLSAgICB9IgotKy0gICAgTUlOSVVQTlBDX1ZFUlNJT05fMV81X09SX0hJR0hFUikKLSsrICAg
 ICAgICAgICAgICAgIHJldHVybiAwOwotKysgICAgICAgICAgICB9IgotKysgICAgICAgICAgICBN
 SU5JVVBOUENfVkVSU0lPTl8xXzVfT1JfSElHSEVSKQotKysgICAgRU5ESUYoKQotKyAKLSstICAg
 IElGIChOT1QgTUlOSVVQTlBDX1ZFUlNJT05fMV81X09SX0hJR0hFUikKLSsrICAgIElGIChOT1Qg
 TUlOSVVQTlBDX1ZFUlNJT05fMV81X09SX0hJR0hFUiBBTkQgTk9UIE1JTklVUE5QQ19WRVJTSU9O
 X1BSRTFfNiBBTkQgTk9UIE1JTklVUE5QQ19WRVJTSU9OX1BSRTFfNyBBTkQgTk9UIE1JTklVUE5Q
 Q19WRVJTSU9OXzFfN19PUl9ISUdIRVIpCi0rICAgICAgICAgIHNldChDTUFLRV9SRVFVSVJFRF9J
 TkNMVURFUyAke01JTklVUE5QX0lOQ0xVREVfRElSfSkKLSsgICAgICAgICAgc2V0KENNQUtFX1JF
 UVVJUkVEX0xJQlJBUklFUyAke01JTklVUE5QX0xJQlJBUll9KQotKyAgICAgICAgICBjaGVja19j
 eHhfc291cmNlX3J1bnMoIgotK0BAIC0xNDEsMTAgKzE2MywxNCBAQAotKyAgICAgSUYoTUlOSVVQ
 TlBDX1ZFUlNJT05fUFJFMV82KQotKyAJbWVzc2FnZShTVEFUVVMgIkZvdW5kIG1pbml1cG5wYyB2
 ZXJzaW9uIGlzIHByZSB2MS42IikKLSsgICAgIEVORElGKCkKLSstICAgIElGKE5PVCBNSU5JVVBO
 UENfVkVSU0lPTl9QUkUxXzUgQU5EIE5PVCBNSU5JVVBOUENfVkVSU0lPTl9QUkUxXzYpCi0rLQlt
 ZXNzYWdlKFNUQVRVUyAiRm91bmQgbWluaXVwbnBjIHZlcnNpb24gaXMgdjEuNiBvciBoaWdoZXIi
 KQotKysgICAgSUYoTUlOSVVQTlBDX1ZFUlNJT05fUFJFMV83KQotKysJbWVzc2FnZShTVEFUVVMg
 IkZvdW5kIG1pbml1cG5wYyB2ZXJzaW9uIGlzIHByZSB2MS43IikKLSsgICAgIEVORElGKCkKLSsg
 Ci0rKyAgICBJRihOT1QgTUlOSVVQTlBDX1ZFUlNJT05fUFJFMV81IEFORCBOT1QgTUlOSVVQTlBD
 X1ZFUlNJT05fUFJFMV82IEFORCBOT1QgTUlOSVVQTlBDX1ZFUlNJT05fUFJFMV83KQotKysJbWVz
 c2FnZShTVEFUVVMgIkZvdW5kIG1pbml1cG5wYyB2ZXJzaW9uIGlzIHYxLjcgb3IgaGlnaGVyIikK
 LSsrICAgIEVORElGKCkKLSsrCi0rIGVsc2UgKCkKLSsgICAgIG1lc3NhZ2UgKFNUQVRVUyAiQ291
 bGQgbm90IGZpbmQgbWluaXVwbnAiKQotKyBlbmRpZiAoKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
 IGZpbGUKZGlmZiAtcnVOIG1lZ2FnbGVzdC9maWxlcy9wYXRjaC1tay1jbWFrZS1tb2R1bGVzLUZp
 bmRNaW5pdXBucGMuY21ha2UgbWVnYWdsZXN0Lm5ldy9maWxlcy9wYXRjaC1tay1jbWFrZS1tb2R1
 bGVzLUZpbmRNaW5pdXBucGMuY21ha2UKLS0tIG1lZ2FnbGVzdC9maWxlcy9wYXRjaC1tay1jbWFr
 ZS1tb2R1bGVzLUZpbmRNaW5pdXBucGMuY21ha2UJMTk2OS0xMi0zMSAxODowMDowMC4wMDAwMDAw
 MDAgLTA2MDAKKysrIG1lZ2FnbGVzdC5uZXcvZmlsZXMvcGF0Y2gtbWstY21ha2UtbW9kdWxlcy1G
 aW5kTWluaXVwbnBjLmNtYWtlCTIwMTMtMDUtMTUgMjE6NDM6MDguMDAwMDAwMDAwIC0wNTAwCkBA
 IC0wLDAgKzEsMTE0IEBACistLS0gbWsvY21ha2UvTW9kdWxlcy9GaW5kTWluaXVwbnBjLmNtYWtl
 Lm9yaWcJMjAxMy0wNS0xNSAyMTo0MjoyMy4wMDAwMDAwMDAgLTA1MDAKKysrKyBtay9jbWFrZS9N
 b2R1bGVzL0ZpbmRNaW5pdXBucGMuY21ha2UJMjAxMy0wNS0xNSAyMTo0MjowMi4wMDAwMDAwMDAg
 LTA1MDAKK0BAIC01OCwyMCArNTgsNDAgQEAKKyAgICAgI2luY2x1ZGUgPHN0ZGlvLmg+CisgICAg
 IGludCBtYWluKCkKKyAgICAgeworLSAgICAgICAgc3RydWN0IFVQTlBEZXYgKmRldmxpc3QgPSBO
 VUxMOworLQlpbnQgdXBucF9kZWxheSA9IDUwMDA7CistCWNvbnN0IGNoYXIgKnVwbnBfbXVsdGlj
 YXN0aWYgPSBOVUxMOworLQljb25zdCBjaGFyICp1cG5wX21pbmlzc2RwZHNvY2sgPSBOVUxMOwor
 LQlpbnQgdXBucF9zYW1lcG9ydCA9IDA7CistCWludCB1cG5wX2lwdjYgPSAwOworLQlpbnQgdXBu
 cF9lcnJvciA9IDA7CistCWRldmxpc3QgPSB1cG5wRGlzY292ZXIodXBucF9kZWxheSwgdXBucF9t
 dWx0aWNhc3RpZiwgdXBucF9taW5pc3NkcGRzb2NrLCB1cG5wX3NhbWVwb3J0LCB1cG5wX2lwdjYs
 ICZ1cG5wX2Vycm9yKTsKKysgICAgICAgIHN0YXRpYyBzdHJ1Y3QgVVBOUFVybHMgdXJsczsKKysg
 ICAgICAgIHN0YXRpYyBzdHJ1Y3QgSUdEZGF0YXMgZGF0YTsKKysKKysgICAgICAgIEdldFVQTlBV
 cmxzICgmdXJscywgJmRhdGEsIFwibXl1cmxcIiwwKTsKKyAKKyAgICAgICAgIHJldHVybiAwOwor
 ICAgICB9IgorLSAgIE1JTklVUE5QQ19WRVJTSU9OXzFfNl9PUl9ISUdIRVIpCistICAgIAorLSAg
 IElGIChOT1QgTUlOSVVQTlBDX1ZFUlNJT05fMV82X09SX0hJR0hFUikKKysgICBNSU5JVVBOUENf
 VkVSU0lPTl8xXzdfT1JfSElHSEVSKQorKworKyAgSUYgKE5PVCBNSU5JVVBOUENfVkVSU0lPTl8x
 XzdfT1JfSElHSEVSKQorKyAgICAgICAgICBzZXQoQ01BS0VfUkVRVUlSRURfSU5DTFVERVMgJHtN
 SU5JVVBOUF9JTkNMVURFX0RJUn0pCisrICAgICAgICAgIHNldChDTUFLRV9SRVFVSVJFRF9MSUJS
 QVJJRVMgJHtNSU5JVVBOUF9MSUJSQVJZfSkKKysgICAgICAgICAgY2hlY2tfY3h4X3NvdXJjZV9y
 dW5zKCIKKysgICAgICAgICAgICAjaW5jbHVkZSA8bWluaXdnZXQuaD4KKysgICAgICAgICAgICAj
 aW5jbHVkZSA8bWluaXVwbnBjLmg+CisrICAgICAgICAgICAgI2luY2x1ZGUgPHVwbnBjb21tYW5k
 cy5oPgorKyAgICAgICAgICAgICNpbmNsdWRlIDxzdGRpby5oPgorKyAgICAgICAgICAgIGludCBt
 YWluKCkKKysgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgIHN0cnVjdCBVUE5QRGV2ICpk
 ZXZsaXN0ID0gTlVMTDsKKysJICAgICAgICBpbnQgdXBucF9kZWxheSA9IDUwMDA7CisrCSAgICAg
 ICAgY29uc3QgY2hhciAqdXBucF9tdWx0aWNhc3RpZiA9IE5VTEw7CisrCSAgICAgICAgY29uc3Qg
 Y2hhciAqdXBucF9taW5pc3NkcGRzb2NrID0gTlVMTDsKKysJICAgICAgICBpbnQgdXBucF9zYW1l
 cG9ydCA9IDA7CisrCSAgICAgICAgaW50IHVwbnBfaXB2NiA9IDA7CisrCSAgICAgICAgaW50IHVw
 bnBfZXJyb3IgPSAwOworKwkgICAgICAgIGRldmxpc3QgPSB1cG5wRGlzY292ZXIodXBucF9kZWxh
 eSwgdXBucF9tdWx0aWNhc3RpZiwgdXBucF9taW5pc3NkcGRzb2NrLCB1cG5wX3NhbWVwb3J0LCB1
 cG5wX2lwdjYsICZ1cG5wX2Vycm9yKTsKKysKKysgICAgICAgICAgICAgICAgcmV0dXJuIDA7Cisr
 ICAgICAgICAgICAgfSIKKysgICAgICAgICAgIE1JTklVUE5QQ19WRVJTSU9OX1BSRTFfNykKKysg
 ICBFTkRJRigpCisrIAorKyAgIElGIChOT1QgTUlOSVVQTlBDX1ZFUlNJT05fUFJFMV83IEFORCBO
 T1QgTUlOSVVQTlBDX1ZFUlNJT05fMV83X09SX0hJR0hFUikKKyAgICAgICAgICAgc2V0KENNQUtF
 X1JFUVVJUkVEX0lOQ0xVREVTICR7TUlOSVVQTlBfSU5DTFVERV9ESVJ9KQorICAgICAgICAgICBz
 ZXQoQ01BS0VfUkVRVUlSRURfTElCUkFSSUVTICR7TUlOSVVQTlBfTElCUkFSWX0pCisgICAgICAg
 ICAgIGNoZWNrX2N4eF9zb3VyY2VfcnVucygiCitAQCAtOTYsMjUgKzExNiwyNyBAQAorIAorICAg
 IEVORElGKCkKKyAKKy0gICBzZXQoQ01BS0VfUkVRVUlSRURfSU5DTFVERVMgJHtNSU5JVVBOUF9J
 TkNMVURFX0RJUn0pCistICAgc2V0KENNQUtFX1JFUVVJUkVEX0xJQlJBUklFUyAke01JTklVUE5Q
 X0xJQlJBUll9KQorLSAgIGNoZWNrX2N4eF9zb3VyY2VfcnVucygiCistICAgICNpbmNsdWRlIDxt
 aW5pd2dldC5oPgorLSAgICAjaW5jbHVkZSA8bWluaXVwbnBjLmg+CistICAgICNpbmNsdWRlIDx1
 cG5wY29tbWFuZHMuaD4KKy0gICAgI2luY2x1ZGUgPHN0ZGlvLmg+CistICAgIHN0YXRpYyBzdHJ1
 Y3QgVVBOUFVybHMgdXJsczsKKy0gICAgc3RhdGljIHN0cnVjdCBJR0RkYXRhcyBkYXRhOworLSAg
 ICBpbnQgbWFpbigpCistICAgIHsKKy0gICAgICAgIGNoYXIgZXh0ZXJuYWxJUFsxNl0gICAgID0g
 IiI7CistCVVQTlBfR2V0RXh0ZXJuYWxJUEFkZHJlc3ModXJscy5jb250cm9sVVJMLCBkYXRhLmZp
 cnN0LnNlcnZpY2V0eXBlLCBleHRlcm5hbElQKTsKKysgICBJRiAoTk9UIE1JTklVUE5QQ19WRVJT
 SU9OX1BSRTFfNiBBTkQgTk9UIE1JTklVUE5QQ19WRVJTSU9OX1BSRTFfNyBBTkQgTk9UIE1JTklV
 UE5QQ19WRVJTSU9OXzFfN19PUl9ISUdIRVIpCisrICAgICAgICAgICBzZXQoQ01BS0VfUkVRVUlS
 RURfSU5DTFVERVMgJHtNSU5JVVBOUF9JTkNMVURFX0RJUn0pCisrICAgICAgICAgICBzZXQoQ01B
 S0VfUkVRVUlSRURfTElCUkFSSUVTICR7TUlOSVVQTlBfTElCUkFSWX0pCisrICAgICAgICAgICBj
 aGVja19jeHhfc291cmNlX3J1bnMoIgorKyAgICAgICAgICAgICNpbmNsdWRlIDxtaW5pd2dldC5o
 PgorKyAgICAgICAgICAgICNpbmNsdWRlIDxtaW5pdXBucGMuaD4KKysgICAgICAgICAgICAjaW5j
 bHVkZSA8dXBucGNvbW1hbmRzLmg+CisrICAgICAgICAgICAgI2luY2x1ZGUgPHN0ZGlvLmg+Cisr
 ICAgICAgICAgICAgc3RhdGljIHN0cnVjdCBVUE5QVXJscyB1cmxzOworKyAgICAgICAgICAgIHN0
 YXRpYyBzdHJ1Y3QgSUdEZGF0YXMgZGF0YTsKKysgICAgICAgICAgICBpbnQgbWFpbigpCisrICAg
 ICAgICAgICAgeworKyAgICAgICAgICAgICAgICBjaGFyIGV4dGVybmFsSVBbMTZdICAgICA9ICIi
 OworKwkgICAgICAgIFVQTlBfR2V0RXh0ZXJuYWxJUEFkZHJlc3ModXJscy5jb250cm9sVVJMLCBk
 YXRhLmZpcnN0LnNlcnZpY2V0eXBlLCBleHRlcm5hbElQKTsKKyAKKy0gICAgICAgIHJldHVybiAw
 OworLSAgICB9IgorLSAgICBNSU5JVVBOUENfVkVSU0lPTl8xXzVfT1JfSElHSEVSKQorKyAgICAg
 ICAgICAgICAgICByZXR1cm4gMDsKKysgICAgICAgICAgICB9IgorKyAgICAgICAgICAgIE1JTklV
 UE5QQ19WRVJTSU9OXzFfNV9PUl9ISUdIRVIpCisrICAgIEVORElGKCkKKyAKKy0gICAgSUYgKE5P
 VCBNSU5JVVBOUENfVkVSU0lPTl8xXzVfT1JfSElHSEVSKQorKyAgICBJRiAoTk9UIE1JTklVUE5Q
 Q19WRVJTSU9OXzFfNV9PUl9ISUdIRVIgQU5EIE5PVCBNSU5JVVBOUENfVkVSU0lPTl9QUkUxXzYg
 QU5EIE5PVCBNSU5JVVBOUENfVkVSU0lPTl9QUkUxXzcgQU5EIE5PVCBNSU5JVVBOUENfVkVSU0lP
 Tl8xXzdfT1JfSElHSEVSKQorICAgICAgICAgIHNldChDTUFLRV9SRVFVSVJFRF9JTkNMVURFUyAk
 e01JTklVUE5QX0lOQ0xVREVfRElSfSkKKyAgICAgICAgICBzZXQoQ01BS0VfUkVRVUlSRURfTElC
 UkFSSUVTICR7TUlOSVVQTlBfTElCUkFSWX0pCisgICAgICAgICAgY2hlY2tfY3h4X3NvdXJjZV9y
 dW5zKCIKK0BAIC0xNDEsOCArMTYzLDEyIEBACisgICAgIElGKE1JTklVUE5QQ19WRVJTSU9OX1BS
 RTFfNikKKyAJbWVzc2FnZShTVEFUVVMgIkZvdW5kIG1pbml1cG5wYyB2ZXJzaW9uIGlzIHByZSB2
 MS42IikKKyAgICAgRU5ESUYoKQorLSAgICBJRihOT1QgTUlOSVVQTlBDX1ZFUlNJT05fUFJFMV81
 IEFORCBOT1QgTUlOSVVQTlBDX1ZFUlNJT05fUFJFMV82KQorLQltZXNzYWdlKFNUQVRVUyAiRm91
 bmQgbWluaXVwbnBjIHZlcnNpb24gaXMgdjEuNiBvciBoaWdoZXIiKQorKyAgICBJRihNSU5JVVBO
 UENfVkVSU0lPTl9QUkUxXzcpCisrCW1lc3NhZ2UoU1RBVFVTICJGb3VuZCBtaW5pdXBucGMgdmVy
 c2lvbiBpcyBwcmUgdjEuNyIpCisrICAgIEVORElGKCkKKysKKysgICAgSUYoTk9UIE1JTklVUE5Q
 Q19WRVJTSU9OX1BSRTFfNSBBTkQgTk9UIE1JTklVUE5QQ19WRVJTSU9OX1BSRTFfNiBBTkQgTk9U
 IE1JTklVUE5QQ19WRVJTSU9OX1BSRTFfNykKKysJbWVzc2FnZShTVEFUVVMgIkZvdW5kIG1pbml1
 cG5wYyB2ZXJzaW9uIGlzIHYxLjcgb3IgaGlnaGVyIikKKyAgICAgRU5ESUYoKQorIAorIGVsc2Ug
 KCkKZGlmZiAtcnVOIG1lZ2FnbGVzdC9maWxlcy9wYXRjaC1zb3VyY2Utc2hhcmVfbGliLXNvdXJj
 ZXMtcGxhdGZvcm0tcG9zaXgtc29ja2V0LmNwcCBtZWdhZ2xlc3QubmV3L2ZpbGVzL3BhdGNoLXNv
 dXJjZS1zaGFyZV9saWItc291cmNlcy1wbGF0Zm9ybS1wb3NpeC1zb2NrZXQuY3BwCi0tLSBtZWdh
 Z2xlc3QvZmlsZXMvcGF0Y2gtc291cmNlLXNoYXJlX2xpYi1zb3VyY2VzLXBsYXRmb3JtLXBvc2l4
 LXNvY2tldC5jcHAJMTk2OS0xMi0zMSAxODowMDowMC4wMDAwMDAwMDAgLTA2MDAKKysrIG1lZ2Fn
 bGVzdC5uZXcvZmlsZXMvcGF0Y2gtc291cmNlLXNoYXJlX2xpYi1zb3VyY2VzLXBsYXRmb3JtLXBv
 c2l4LXNvY2tldC5jcHAJMjAxMy0wNS0xNSAyMTozODo0OS4wMDAwMDAwMDAgLTA1MDAKQEAgLTAs
 MCArMSwyNSBAQAorLS0tIHNvdXJjZS9zaGFyZWRfbGliL3NvdXJjZXMvcGxhdGZvcm0vcG9zaXgv
 c29ja2V0LmNwcC5vcmlnCTIwMTMtMDUtMTUgMjE6MzM6NDIuMDAwMDAwMDAwIC0wNTAwCisrKysg
 c291cmNlL3NoYXJlZF9saWIvc291cmNlcy9wbGF0Zm9ybS9wb3NpeC9zb2NrZXQuY3BwCTIwMTMt
 MDUtMTUgMjE6Mzc6MDYuMDAwMDAwMDAwIC0wNTAwCitAQCAtMjQ3OCwxMyArMjQ3OCwyMiBAQAor
 IAkJCQlpZihTeXN0ZW1GbGFnczo6VkVSQk9TRV9NT0RFX0VOQUJMRUQpIHByaW50ZigiVVBuUCBk
 ZXZpY2UgZm91bmQ6ICVzICVzXG4iLCBkZXYtPmRlc2NVUkwsIGRldi0+c3QpOworIAorIAkJCQkv
 L3ByaW50ZigiVVBuUCBkZXZpY2UgZm91bmQ6IFslc10gWyVzXSBsYW5hZGRyIFslc11cbiIsIGRl
 di0+ZGVzY1VSTCwgZGV2LT5zdCxsYW5hZGRyKTsKKysjaWZuZGVmIE1JTklVUE5QQ19WRVJTSU9O
 X1BSRTFfNworKwkJCQlkZXNjWE1MID0gKGNoYXIgKiltaW5pd2dldF9nZXRhZGRyKGRldi0+ZGVz
 Y1VSTCwgJmRlc2NYTUxzaXplLCBsYW5hZGRyLCAoc2l6ZW9mKGxhbmFkZHIpIC8gc2l6ZW9mKGxh
 bmFkZHJbMF0pKSwwKTsKKysjZWxzZQorIAkJCQlkZXNjWE1MID0gKGNoYXIgKiltaW5pd2dldF9n
 ZXRhZGRyKGRldi0+ZGVzY1VSTCwgJmRlc2NYTUxzaXplLCBsYW5hZGRyLCAoc2l6ZW9mKGxhbmFk
 ZHIpIC8gc2l6ZW9mKGxhbmFkZHJbMF0pKSk7CisrI2VuZGlmCisgCQkJCWlmKFN5c3RlbUZsYWdz
 OjpnZXRTeXN0ZW1TZXR0aW5nVHlwZShTeXN0ZW1GbGFnczo6ZGVidWdOZXR3b3JrKS5lbmFibGVk
 KSBTeXN0ZW1GbGFnczo6T3V0cHV0RGVidWcoU3lzdGVtRmxhZ3M6OmRlYnVnTmV0d29yaywiTEFO
 IGFkZHJlc3M6ICVzXG4iLCBsYW5hZGRyKTsKKyAKKyAJCQkJaWYgKGRlc2NYTUwpIHsKKyAJCQkJ
 CXBhcnNlcm9vdGRlc2MgKGRlc2NYTUwsIGRlc2NYTUxzaXplLCAmZGF0YSk7CisgCQkJCQlmcmVl
 IChkZXNjWE1MKTsgZGVzY1hNTCA9IDA7CisrCisrI2lmbmRlZiBNSU5JVVBOUENfVkVSU0lPTl9Q
 UkUxXzcKKysJCQkJCUdldFVQTlBVcmxzICgmdXJscywgJmRhdGEsIGRldi0+ZGVzY1VSTCwwKTsK
 KysjZWxzZQorIAkJCQkJR2V0VVBOUFVybHMgKCZ1cmxzLCAmZGF0YSwgZGV2LT5kZXNjVVJMKTsK
 KysjZW5kaWYKKyAJCQkJfQorIAkJCQlzbnByaW50ZihidWYsIDI1NSwiVVBuUCBkZXZpY2UgZm91
 bmQ6ICVzICVzIExBTiBhZGRyZXNzICVzIiwgZGV2LT5kZXNjVVJMLCBkZXYtPnN0LCBsYW5hZGRy
 KTsKKyAKZGlmZiAtcnVOIG1lZ2FnbGVzdC9maWxlcy9wYXRjaC1zb3VyY2Utc2hhcmVkX2xpYi1D
 TWFrZUxpc3RzLnR4dCBtZWdhZ2xlc3QubmV3L2ZpbGVzL3BhdGNoLXNvdXJjZS1zaGFyZWRfbGli
 LUNNYWtlTGlzdHMudHh0Ci0tLSBtZWdhZ2xlc3QvZmlsZXMvcGF0Y2gtc291cmNlLXNoYXJlZF9s
 aWItQ01ha2VMaXN0cy50eHQJMjAxMi0xMS0yNyAwOToyNjo0OC4wMDAwMDAwMDAgLTA2MDAKKysr
 IG1lZ2FnbGVzdC5uZXcvZmlsZXMvcGF0Y2gtc291cmNlLXNoYXJlZF9saWItQ01ha2VMaXN0cy50
 eHQJMjAxMy0wNS0xNSAyMTo0MTozMy4wMDAwMDAwMDAgLTA1MDAKQEAgLTEsNSArMSwxNCBAQAot
 LS0tIHNvdXJjZS9zaGFyZWRfbGliL0NNYWtlTGlzdHMudHh0Lm9yaWcJMjAxMi0xMS0yNSAwMDox
 OToxMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBzb3VyY2Uvc2hhcmVkX2xpYi9DTWFrZUxpc3RzLnR4
 dAkyMDEyLTExLTI1IDAwOjEyOjAxLjAwMDAwMDAwMCArMDAwMAorLS0tIHNvdXJjZS9zaGFyZWRf
 bGliL0NNYWtlTGlzdHMudHh0Lm9yaWcJMjAxMy0wNS0xNSAyMTo0MDozMy4wMDAwMDAwMDAgLTA1
 MDAKKysrKyBzb3VyY2Uvc2hhcmVkX2xpYi9DTWFrZUxpc3RzLnR4dAkyMDEzLTA1LTE1IDIxOjQx
 OjAwLjAwMDAwMDAwMCAtMDUwMAorQEAgLTExNiw3ICsxMTYsNyBAQAorICMKKyAjCSAgICAgICAg
 SU5DTFVERV9ESVJFQ1RPUklFUygke0xVQUpJVF9JTkNMVURFX0RJUn0pCisgIwkgICAgICAgIElG
 KFVOSVgpCistIwkJICAgICAgICBTRVQoRVhURVJOQUxfTElCUyAke0VYVEVSTkFMX0xJQlN9ICR7
 TFVBSklUX0xJQlJBUklFU30gImxpYmRsLnNvIikKKysjCQkgICAgICAgIFNFVChFWFRFUk5BTF9M
 SUJTICR7RVhURVJOQUxfTElCU30gJHtMVUFKSVRfTElCUkFSSUVTfSAke0NNQUtFX0RMX0xJQlN9
 KQorICMJICAgICAgICBFTkRJRigpCisgIyAgICAgICAgRUxTRSgpCisgIyAgICAgICAgICAgICAg
 ICBNRVNTQUdFKFNUQVRVUyAiKipXQVJOSU5HOiBMVUFKSVQgTk9UIGZvdW5kLCBzbyBMdWEgcGVy
 Zm9ybWFuY2UgbWF5IHN1ZmZlci4iKQogQEAgLTEyNCw3ICsxMjQsNyBAQAogICAgICAgICAgRklO
 RF9QQUNLQUdFKExVQSBSRVFVSVJFRCkKICAgICAgICAgIElOQ0xVREVfRElSRUNUT1JJRVMoJHtM
 VUFfSU5DTFVERV9ESVJ9KQpAQCAtOSwzICsxOCwxNyBAQAogICAgICAgICAgRU5ESUYoKQogICMg
 ICAgICAgIEVORElGKCkKICAKK0BAIC0yOTcsNyArMjk3LDEyIEBACisgCQlBRERfREVGSU5JVElP
 TlMoLURNSU5JVVBOUENfVkVSU0lPTl9QUkUxXzYpCisgICAgICAgICAgICAgICAgIG1lc3NhZ2Uo
 U1RBVFVTICJBZGRpbmcgbWFjcm8gZm9yIG1pbml1cG5wYyB2ZXJzaW9uOiBwcmUgdjEuNiIpCisg
 CUVORElGKCkKKy0gICAgICAgIElGKE5PVCBNSU5JVVBOUENfVkVSU0lPTl9QUkUxXzUgQU5EIE5P
 VCBNSU5JVVBOUENfVkVSU0lPTl9QUkUxXzYpCisrCUlGKE1JTklVUE5QQ19WRVJTSU9OX1BSRTFf
 NykKKysJCUFERF9ERUZJTklUSU9OUygtRE1JTklVUE5QQ19WRVJTSU9OX1BSRTFfNykKKysgICAg
 ICAgICAgICAgICAgbWVzc2FnZShTVEFUVVMgIkFkZGluZyBtYWNybyBmb3IgbWluaXVwbnBjIHZl
 cnNpb246IHByZSB2MS43IikKKysJRU5ESUYoKQorKworKyAgICAgICAgSUYoTk9UIE1JTklVUE5Q
 Q19WRVJTSU9OX1BSRTFfNSBBTkQgTk9UIE1JTklVUE5QQ19WRVJTSU9OX1BSRTFfNiBBTkQgTk9U
 IE1JTklVUE5QQ19WRVJTSU9OX1BSRTFfNykKKyAgICAgICAgICAgICAgICAgbWVzc2FnZShTVEFU
 VVMgIioqTm8gbWFjcm9zIHJlcXVpcmVkIGZvciBtaW5pdXBucGMgdmVyc2lvbiIpCisgICAgICAg
 ICBFTkRJRigpCisgCg==
 --=_936c1bc052f283f50373db504dc92334--
 

From: Rusty Nejdl <rnejdl@ringofsaturn.com>
To: <bug-followup@freebsd.org>, <shoesoft@gmx.net>, <edwin@freebsd.org>
Cc:  
Subject: Re: ports/177987: games/megaglest: fix build
Date: Tue, 28 May 2013 12:43:34 -0500

 --=_8d71a5ad2e43edfca446f6cb0e7f56db
 Content-Transfer-Encoding: 7bit
 Content-Type: text/plain; charset=UTF-8
 
  
 
 Can I have this PR please be committed to fix this build?
 
 
 Thanks!
 Rusty Nejdl 
  
 --=_8d71a5ad2e43edfca446f6cb0e7f56db--
 

From: Raphael Kubo da Costa <rakuco@FreeBSD.org>
To: Rusty Nejdl <rnejdl@ringofsaturn.com>
Cc: bug-followup@FreeBSD.org, shoesoft@gmx.net
Subject: Re: ports/177987: games/megaglest: fix build
Date: Sun, 09 Jun 2013 22:08:16 +0300

 Just to be clear: the latest patch in this PR does not apply cleanly
 because files/patch-megaglest-miniupnpc does not exist in the tree.
 I assume it's Stefan's original patch which you had committed locally?
 
 In the end, is there anything in the final patch that did not make it
 upstream?

From: Rusty Nejdl <rnejdl@ringofsaturn.com>
To: Raphael Kubo da Costa <rakuco@freebsd.org>
Cc: <bug-followup@freebsd.org>, <shoesoft@gmx.net>
Subject: Re: ports/177987: games/megaglest: fix build
Date: Tue, 11 Jun 2013 10:08:16 -0500

 --=_ab01c5abc9ac03ffbe02bdc99de49104
 Content-Type: multipart/alternative;
  boundary="=_901235418d22d23c7f8a1958ed5b2f01"
 
 --=_901235418d22d23c7f8a1958ed5b2f01
 Content-Transfer-Encoding: 7bit
 Content-Type: text/plain; charset=UTF-8
 
  
 
 Raphael, 
 
 Here's a corrected patch file. I was never able to get
 the original patch to apply on my system and had to redo it. Also, yes,
 this fix is included upstream but I have no idea when the project will
 release a new version of the code. We'll be able to remove the patches
 when the next release comes out. 
 
 Rusty 
 
 On 2013-06-09 14:08, Raphael
 Kubo da Costa wrote: 
 
 > Just to be clear: the latest patch in this PR
 does not apply cleanly
 > because files/patch-megaglest-miniupnpc does
 not exist in the tree.
 > I assume it's Stefan's original patch which you
 had committed locally?
 > 
 > In the end, is there anything in the final
 patch that did not make it
 > upstream?
 
  
 --=_901235418d22d23c7f8a1958ed5b2f01
 Content-Transfer-Encoding: quoted-printable
 Content-Type: text/html; charset=UTF-8
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
 <html><body style=3D'font-family: Helvetica,Arial,sans-serif'>
 <p>Raphael,</p>
 <p>Here's a corrected patch file.&nbsp; I was never able to get the origina=
 l patch to apply on my system and had to redo it.&nbsp; Also, yes, this fix=
  is included upstream but I have no idea when the project will release a ne=
 w version of the code.&nbsp; We'll be able to remove the patches when the n=
 ext release comes out.</p>
 <p>Rusty</p>
 <p>On 2013-06-09 14:08, Raphael Kubo da Costa wrote:</p>
 <blockquote type=3D"cite" style=3D"padding-left:5px; border-left:#1010ff 2p=
 x solid; margin-left:5px; width:100%"><!-- html ignored --><!-- head ignore=
 d --><!-- meta ignored -->
 <pre>Just to be clear: the latest patch in this PR does not apply cleanly
 because files/patch-megaglest-miniupnpc does not exist in the tree.
 I assume it's Stefan's original patch which you had committed locally?
 
 In the end, is there anything in the final patch that did not make it
 upstream?
 </pre>
 </blockquote>
 <p>&nbsp;</p>
 <div>&nbsp;</div>
 </body></html>
 
 --=_901235418d22d23c7f8a1958ed5b2f01--
 
 --=_ab01c5abc9ac03ffbe02bdc99de49104
 Content-Transfer-Encoding: base64
 Content-Type: application/octet-stream;
  name=megaglest-miniupnpc-patch
 Content-Disposition: attachment;
  filename=megaglest-miniupnpc-patch;
  size=8530
 
 ZGlmZiAtcnVOIG1lZ2FnbGVzdC9NYWtlZmlsZSBtZWdhZ2xlc3QubmV3L01ha2VmaWxlCi0tLSBt
 ZWdhZ2xlc3QvTWFrZWZpbGUJMjAxMy0wNi0xMSAwODoyNjowOS4wMDAwMDAwMDAgLTA1MDAKKysr
 IG1lZ2FnbGVzdC5uZXcvTWFrZWZpbGUJMjAxMy0wNS0xNSAyMTo0ODozMi4wMDAwMDAwMDAgLTA1
 MDAKQEAgLTMsNiArMyw3IEBACiAKIFBPUlROQU1FPQltZWdhZ2xlc3QKIFBPUlRWRVJTSU9OPQkz
 LjcuMQorUE9SVFJFVklTSU9OPQkxCiBDQVRFR09SSUVTPQlnYW1lcwogTUFTVEVSX1NJVEVTPQlT
 Ri8ke1BPUlROQU1FfS8ke1BPUlROQU1FfV8ke1BPUlRWRVJTSU9OfS8KIERJU1ROQU1FPQkke1BP
 UlROQU1FfS1zb3VyY2UtJHtQT1JUVkVSU0lPTn0KZGlmZiAtcnVOIG1lZ2FnbGVzdC9maWxlcy9w
 YXRjaC1tay1jbWFrZS1tb2R1bGVzLUZpbmRNaW5pdXBucGMuY21ha2UgbWVnYWdsZXN0Lm5ldy9m
 aWxlcy9wYXRjaC1tay1jbWFrZS1tb2R1bGVzLUZpbmRNaW5pdXBucGMuY21ha2UKLS0tIG1lZ2Fn
 bGVzdC9maWxlcy9wYXRjaC1tay1jbWFrZS1tb2R1bGVzLUZpbmRNaW5pdXBucGMuY21ha2UJMTk2
 OS0xMi0zMSAxODowMDowMC4wMDAwMDAwMDAgLTA2MDAKKysrIG1lZ2FnbGVzdC5uZXcvZmlsZXMv
 cGF0Y2gtbWstY21ha2UtbW9kdWxlcy1GaW5kTWluaXVwbnBjLmNtYWtlCTIwMTMtMDUtMTUgMjE6
 NDM6MDguMDAwMDAwMDAwIC0wNTAwCkBAIC0wLDAgKzEsMTE0IEBACistLS0gbWsvY21ha2UvTW9k
 dWxlcy9GaW5kTWluaXVwbnBjLmNtYWtlLm9yaWcJMjAxMy0wNS0xNSAyMTo0MjoyMy4wMDAwMDAw
 MDAgLTA1MDAKKysrKyBtay9jbWFrZS9Nb2R1bGVzL0ZpbmRNaW5pdXBucGMuY21ha2UJMjAxMy0w
 NS0xNSAyMTo0MjowMi4wMDAwMDAwMDAgLTA1MDAKK0BAIC01OCwyMCArNTgsNDAgQEAKKyAgICAg
 I2luY2x1ZGUgPHN0ZGlvLmg+CisgICAgIGludCBtYWluKCkKKyAgICAgeworLSAgICAgICAgc3Ry
 dWN0IFVQTlBEZXYgKmRldmxpc3QgPSBOVUxMOworLQlpbnQgdXBucF9kZWxheSA9IDUwMDA7Cist
 CWNvbnN0IGNoYXIgKnVwbnBfbXVsdGljYXN0aWYgPSBOVUxMOworLQljb25zdCBjaGFyICp1cG5w
 X21pbmlzc2RwZHNvY2sgPSBOVUxMOworLQlpbnQgdXBucF9zYW1lcG9ydCA9IDA7CistCWludCB1
 cG5wX2lwdjYgPSAwOworLQlpbnQgdXBucF9lcnJvciA9IDA7CistCWRldmxpc3QgPSB1cG5wRGlz
 Y292ZXIodXBucF9kZWxheSwgdXBucF9tdWx0aWNhc3RpZiwgdXBucF9taW5pc3NkcGRzb2NrLCB1
 cG5wX3NhbWVwb3J0LCB1cG5wX2lwdjYsICZ1cG5wX2Vycm9yKTsKKysgICAgICAgIHN0YXRpYyBz
 dHJ1Y3QgVVBOUFVybHMgdXJsczsKKysgICAgICAgIHN0YXRpYyBzdHJ1Y3QgSUdEZGF0YXMgZGF0
 YTsKKysKKysgICAgICAgIEdldFVQTlBVcmxzICgmdXJscywgJmRhdGEsIFwibXl1cmxcIiwwKTsK
 KyAKKyAgICAgICAgIHJldHVybiAwOworICAgICB9IgorLSAgIE1JTklVUE5QQ19WRVJTSU9OXzFf
 Nl9PUl9ISUdIRVIpCistICAgIAorLSAgIElGIChOT1QgTUlOSVVQTlBDX1ZFUlNJT05fMV82X09S
 X0hJR0hFUikKKysgICBNSU5JVVBOUENfVkVSU0lPTl8xXzdfT1JfSElHSEVSKQorKworKyAgSUYg
 KE5PVCBNSU5JVVBOUENfVkVSU0lPTl8xXzdfT1JfSElHSEVSKQorKyAgICAgICAgICBzZXQoQ01B
 S0VfUkVRVUlSRURfSU5DTFVERVMgJHtNSU5JVVBOUF9JTkNMVURFX0RJUn0pCisrICAgICAgICAg
 IHNldChDTUFLRV9SRVFVSVJFRF9MSUJSQVJJRVMgJHtNSU5JVVBOUF9MSUJSQVJZfSkKKysgICAg
 ICAgICAgY2hlY2tfY3h4X3NvdXJjZV9ydW5zKCIKKysgICAgICAgICAgICAjaW5jbHVkZSA8bWlu
 aXdnZXQuaD4KKysgICAgICAgICAgICAjaW5jbHVkZSA8bWluaXVwbnBjLmg+CisrICAgICAgICAg
 ICAgI2luY2x1ZGUgPHVwbnBjb21tYW5kcy5oPgorKyAgICAgICAgICAgICNpbmNsdWRlIDxzdGRp
 by5oPgorKyAgICAgICAgICAgIGludCBtYWluKCkKKysgICAgICAgICAgICB7CisrICAgICAgICAg
 ICAgICAgIHN0cnVjdCBVUE5QRGV2ICpkZXZsaXN0ID0gTlVMTDsKKysJICAgICAgICBpbnQgdXBu
 cF9kZWxheSA9IDUwMDA7CisrCSAgICAgICAgY29uc3QgY2hhciAqdXBucF9tdWx0aWNhc3RpZiA9
 IE5VTEw7CisrCSAgICAgICAgY29uc3QgY2hhciAqdXBucF9taW5pc3NkcGRzb2NrID0gTlVMTDsK
 KysJICAgICAgICBpbnQgdXBucF9zYW1lcG9ydCA9IDA7CisrCSAgICAgICAgaW50IHVwbnBfaXB2
 NiA9IDA7CisrCSAgICAgICAgaW50IHVwbnBfZXJyb3IgPSAwOworKwkgICAgICAgIGRldmxpc3Qg
 PSB1cG5wRGlzY292ZXIodXBucF9kZWxheSwgdXBucF9tdWx0aWNhc3RpZiwgdXBucF9taW5pc3Nk
 cGRzb2NrLCB1cG5wX3NhbWVwb3J0LCB1cG5wX2lwdjYsICZ1cG5wX2Vycm9yKTsKKysKKysgICAg
 ICAgICAgICAgICAgcmV0dXJuIDA7CisrICAgICAgICAgICAgfSIKKysgICAgICAgICAgIE1JTklV
 UE5QQ19WRVJTSU9OX1BSRTFfNykKKysgICBFTkRJRigpCisrIAorKyAgIElGIChOT1QgTUlOSVVQ
 TlBDX1ZFUlNJT05fUFJFMV83IEFORCBOT1QgTUlOSVVQTlBDX1ZFUlNJT05fMV83X09SX0hJR0hF
 UikKKyAgICAgICAgICAgc2V0KENNQUtFX1JFUVVJUkVEX0lOQ0xVREVTICR7TUlOSVVQTlBfSU5D
 TFVERV9ESVJ9KQorICAgICAgICAgICBzZXQoQ01BS0VfUkVRVUlSRURfTElCUkFSSUVTICR7TUlO
 SVVQTlBfTElCUkFSWX0pCisgICAgICAgICAgIGNoZWNrX2N4eF9zb3VyY2VfcnVucygiCitAQCAt
 OTYsMjUgKzExNiwyNyBAQAorIAorICAgIEVORElGKCkKKyAKKy0gICBzZXQoQ01BS0VfUkVRVUlS
 RURfSU5DTFVERVMgJHtNSU5JVVBOUF9JTkNMVURFX0RJUn0pCistICAgc2V0KENNQUtFX1JFUVVJ
 UkVEX0xJQlJBUklFUyAke01JTklVUE5QX0xJQlJBUll9KQorLSAgIGNoZWNrX2N4eF9zb3VyY2Vf
 cnVucygiCistICAgICNpbmNsdWRlIDxtaW5pd2dldC5oPgorLSAgICAjaW5jbHVkZSA8bWluaXVw
 bnBjLmg+CistICAgICNpbmNsdWRlIDx1cG5wY29tbWFuZHMuaD4KKy0gICAgI2luY2x1ZGUgPHN0
 ZGlvLmg+CistICAgIHN0YXRpYyBzdHJ1Y3QgVVBOUFVybHMgdXJsczsKKy0gICAgc3RhdGljIHN0
 cnVjdCBJR0RkYXRhcyBkYXRhOworLSAgICBpbnQgbWFpbigpCistICAgIHsKKy0gICAgICAgIGNo
 YXIgZXh0ZXJuYWxJUFsxNl0gICAgID0gIiI7CistCVVQTlBfR2V0RXh0ZXJuYWxJUEFkZHJlc3Mo
 dXJscy5jb250cm9sVVJMLCBkYXRhLmZpcnN0LnNlcnZpY2V0eXBlLCBleHRlcm5hbElQKTsKKysg
 ICBJRiAoTk9UIE1JTklVUE5QQ19WRVJTSU9OX1BSRTFfNiBBTkQgTk9UIE1JTklVUE5QQ19WRVJT
 SU9OX1BSRTFfNyBBTkQgTk9UIE1JTklVUE5QQ19WRVJTSU9OXzFfN19PUl9ISUdIRVIpCisrICAg
 ICAgICAgICBzZXQoQ01BS0VfUkVRVUlSRURfSU5DTFVERVMgJHtNSU5JVVBOUF9JTkNMVURFX0RJ
 Un0pCisrICAgICAgICAgICBzZXQoQ01BS0VfUkVRVUlSRURfTElCUkFSSUVTICR7TUlOSVVQTlBf
 TElCUkFSWX0pCisrICAgICAgICAgICBjaGVja19jeHhfc291cmNlX3J1bnMoIgorKyAgICAgICAg
 ICAgICNpbmNsdWRlIDxtaW5pd2dldC5oPgorKyAgICAgICAgICAgICNpbmNsdWRlIDxtaW5pdXBu
 cGMuaD4KKysgICAgICAgICAgICAjaW5jbHVkZSA8dXBucGNvbW1hbmRzLmg+CisrICAgICAgICAg
 ICAgI2luY2x1ZGUgPHN0ZGlvLmg+CisrICAgICAgICAgICAgc3RhdGljIHN0cnVjdCBVUE5QVXJs
 cyB1cmxzOworKyAgICAgICAgICAgIHN0YXRpYyBzdHJ1Y3QgSUdEZGF0YXMgZGF0YTsKKysgICAg
 ICAgICAgICBpbnQgbWFpbigpCisrICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgICBjaGFy
 IGV4dGVybmFsSVBbMTZdICAgICA9ICIiOworKwkgICAgICAgIFVQTlBfR2V0RXh0ZXJuYWxJUEFk
 ZHJlc3ModXJscy5jb250cm9sVVJMLCBkYXRhLmZpcnN0LnNlcnZpY2V0eXBlLCBleHRlcm5hbElQ
 KTsKKyAKKy0gICAgICAgIHJldHVybiAwOworLSAgICB9IgorLSAgICBNSU5JVVBOUENfVkVSU0lP
 Tl8xXzVfT1JfSElHSEVSKQorKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKysgICAgICAgICAg
 ICB9IgorKyAgICAgICAgICAgIE1JTklVUE5QQ19WRVJTSU9OXzFfNV9PUl9ISUdIRVIpCisrICAg
 IEVORElGKCkKKyAKKy0gICAgSUYgKE5PVCBNSU5JVVBOUENfVkVSU0lPTl8xXzVfT1JfSElHSEVS
 KQorKyAgICBJRiAoTk9UIE1JTklVUE5QQ19WRVJTSU9OXzFfNV9PUl9ISUdIRVIgQU5EIE5PVCBN
 SU5JVVBOUENfVkVSU0lPTl9QUkUxXzYgQU5EIE5PVCBNSU5JVVBOUENfVkVSU0lPTl9QUkUxXzcg
 QU5EIE5PVCBNSU5JVVBOUENfVkVSU0lPTl8xXzdfT1JfSElHSEVSKQorICAgICAgICAgIHNldChD
 TUFLRV9SRVFVSVJFRF9JTkNMVURFUyAke01JTklVUE5QX0lOQ0xVREVfRElSfSkKKyAgICAgICAg
 ICBzZXQoQ01BS0VfUkVRVUlSRURfTElCUkFSSUVTICR7TUlOSVVQTlBfTElCUkFSWX0pCisgICAg
 ICAgICAgY2hlY2tfY3h4X3NvdXJjZV9ydW5zKCIKK0BAIC0xNDEsOCArMTYzLDEyIEBACisgICAg
 IElGKE1JTklVUE5QQ19WRVJTSU9OX1BSRTFfNikKKyAJbWVzc2FnZShTVEFUVVMgIkZvdW5kIG1p
 bml1cG5wYyB2ZXJzaW9uIGlzIHByZSB2MS42IikKKyAgICAgRU5ESUYoKQorLSAgICBJRihOT1Qg
 TUlOSVVQTlBDX1ZFUlNJT05fUFJFMV81IEFORCBOT1QgTUlOSVVQTlBDX1ZFUlNJT05fUFJFMV82
 KQorLQltZXNzYWdlKFNUQVRVUyAiRm91bmQgbWluaXVwbnBjIHZlcnNpb24gaXMgdjEuNiBvciBo
 aWdoZXIiKQorKyAgICBJRihNSU5JVVBOUENfVkVSU0lPTl9QUkUxXzcpCisrCW1lc3NhZ2UoU1RB
 VFVTICJGb3VuZCBtaW5pdXBucGMgdmVyc2lvbiBpcyBwcmUgdjEuNyIpCisrICAgIEVORElGKCkK
 KysKKysgICAgSUYoTk9UIE1JTklVUE5QQ19WRVJTSU9OX1BSRTFfNSBBTkQgTk9UIE1JTklVUE5Q
 Q19WRVJTSU9OX1BSRTFfNiBBTkQgTk9UIE1JTklVUE5QQ19WRVJTSU9OX1BSRTFfNykKKysJbWVz
 c2FnZShTVEFUVVMgIkZvdW5kIG1pbml1cG5wYyB2ZXJzaW9uIGlzIHYxLjcgb3IgaGlnaGVyIikK
 KyAgICAgRU5ESUYoKQorIAorIGVsc2UgKCkKZGlmZiAtcnVOIG1lZ2FnbGVzdC9maWxlcy9wYXRj
 aC1zb3VyY2Utc2hhcmVfbGliLXNvdXJjZXMtcGxhdGZvcm0tcG9zaXgtc29ja2V0LmNwcCBtZWdh
 Z2xlc3QubmV3L2ZpbGVzL3BhdGNoLXNvdXJjZS1zaGFyZV9saWItc291cmNlcy1wbGF0Zm9ybS1w
 b3NpeC1zb2NrZXQuY3BwCi0tLSBtZWdhZ2xlc3QvZmlsZXMvcGF0Y2gtc291cmNlLXNoYXJlX2xp
 Yi1zb3VyY2VzLXBsYXRmb3JtLXBvc2l4LXNvY2tldC5jcHAJMTk2OS0xMi0zMSAxODowMDowMC4w
 MDAwMDAwMDAgLTA2MDAKKysrIG1lZ2FnbGVzdC5uZXcvZmlsZXMvcGF0Y2gtc291cmNlLXNoYXJl
 X2xpYi1zb3VyY2VzLXBsYXRmb3JtLXBvc2l4LXNvY2tldC5jcHAJMjAxMy0wNS0xNSAyMTozODo0
 OS4wMDAwMDAwMDAgLTA1MDAKQEAgLTAsMCArMSwyNSBAQAorLS0tIHNvdXJjZS9zaGFyZWRfbGli
 L3NvdXJjZXMvcGxhdGZvcm0vcG9zaXgvc29ja2V0LmNwcC5vcmlnCTIwMTMtMDUtMTUgMjE6MzM6
 NDIuMDAwMDAwMDAwIC0wNTAwCisrKysgc291cmNlL3NoYXJlZF9saWIvc291cmNlcy9wbGF0Zm9y
 bS9wb3NpeC9zb2NrZXQuY3BwCTIwMTMtMDUtMTUgMjE6Mzc6MDYuMDAwMDAwMDAwIC0wNTAwCitA
 QCAtMjQ3OCwxMyArMjQ3OCwyMiBAQAorIAkJCQlpZihTeXN0ZW1GbGFnczo6VkVSQk9TRV9NT0RF
 X0VOQUJMRUQpIHByaW50ZigiVVBuUCBkZXZpY2UgZm91bmQ6ICVzICVzXG4iLCBkZXYtPmRlc2NV
 UkwsIGRldi0+c3QpOworIAorIAkJCQkvL3ByaW50ZigiVVBuUCBkZXZpY2UgZm91bmQ6IFslc10g
 WyVzXSBsYW5hZGRyIFslc11cbiIsIGRldi0+ZGVzY1VSTCwgZGV2LT5zdCxsYW5hZGRyKTsKKysj
 aWZuZGVmIE1JTklVUE5QQ19WRVJTSU9OX1BSRTFfNworKwkJCQlkZXNjWE1MID0gKGNoYXIgKilt
 aW5pd2dldF9nZXRhZGRyKGRldi0+ZGVzY1VSTCwgJmRlc2NYTUxzaXplLCBsYW5hZGRyLCAoc2l6
 ZW9mKGxhbmFkZHIpIC8gc2l6ZW9mKGxhbmFkZHJbMF0pKSwwKTsKKysjZWxzZQorIAkJCQlkZXNj
 WE1MID0gKGNoYXIgKiltaW5pd2dldF9nZXRhZGRyKGRldi0+ZGVzY1VSTCwgJmRlc2NYTUxzaXpl
 LCBsYW5hZGRyLCAoc2l6ZW9mKGxhbmFkZHIpIC8gc2l6ZW9mKGxhbmFkZHJbMF0pKSk7CisrI2Vu
 ZGlmCisgCQkJCWlmKFN5c3RlbUZsYWdzOjpnZXRTeXN0ZW1TZXR0aW5nVHlwZShTeXN0ZW1GbGFn
 czo6ZGVidWdOZXR3b3JrKS5lbmFibGVkKSBTeXN0ZW1GbGFnczo6T3V0cHV0RGVidWcoU3lzdGVt
 RmxhZ3M6OmRlYnVnTmV0d29yaywiTEFOIGFkZHJlc3M6ICVzXG4iLCBsYW5hZGRyKTsKKyAKKyAJ
 CQkJaWYgKGRlc2NYTUwpIHsKKyAJCQkJCXBhcnNlcm9vdGRlc2MgKGRlc2NYTUwsIGRlc2NYTUxz
 aXplLCAmZGF0YSk7CisgCQkJCQlmcmVlIChkZXNjWE1MKTsgZGVzY1hNTCA9IDA7CisrCisrI2lm
 bmRlZiBNSU5JVVBOUENfVkVSU0lPTl9QUkUxXzcKKysJCQkJCUdldFVQTlBVcmxzICgmdXJscywg
 JmRhdGEsIGRldi0+ZGVzY1VSTCwwKTsKKysjZWxzZQorIAkJCQkJR2V0VVBOUFVybHMgKCZ1cmxz
 LCAmZGF0YSwgZGV2LT5kZXNjVVJMKTsKKysjZW5kaWYKKyAJCQkJfQorIAkJCQlzbnByaW50Zihi
 dWYsIDI1NSwiVVBuUCBkZXZpY2UgZm91bmQ6ICVzICVzIExBTiBhZGRyZXNzICVzIiwgZGV2LT5k
 ZXNjVVJMLCBkZXYtPnN0LCBsYW5hZGRyKTsKKyAKZGlmZiAtcnVOIG1lZ2FnbGVzdC9maWxlcy9w
 YXRjaC1zb3VyY2Utc2hhcmVkX2xpYi1DTWFrZUxpc3RzLnR4dCBtZWdhZ2xlc3QubmV3L2ZpbGVz
 L3BhdGNoLXNvdXJjZS1zaGFyZWRfbGliLUNNYWtlTGlzdHMudHh0Ci0tLSBtZWdhZ2xlc3QvZmls
 ZXMvcGF0Y2gtc291cmNlLXNoYXJlZF9saWItQ01ha2VMaXN0cy50eHQJMjAxMy0wNi0xMSAwODoy
 NjowOS4wMDAwMDAwMDAgLTA1MDAKKysrIG1lZ2FnbGVzdC5uZXcvZmlsZXMvcGF0Y2gtc291cmNl
 LXNoYXJlZF9saWItQ01ha2VMaXN0cy50eHQJMjAxMy0wNS0xNSAyMTo0MTozMy4wMDAwMDAwMDAg
 LTA1MDAKQEAgLTEsNSArMSwxNCBAQAotLS0tIHNvdXJjZS9zaGFyZWRfbGliL0NNYWtlTGlzdHMu
 dHh0Lm9yaWcJMjAxMi0xMS0yNSAwMDoxOToxMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBzb3VyY2Uv
 c2hhcmVkX2xpYi9DTWFrZUxpc3RzLnR4dAkyMDEyLTExLTI1IDAwOjEyOjAxLjAwMDAwMDAwMCAr
 MDAwMAorLS0tIHNvdXJjZS9zaGFyZWRfbGliL0NNYWtlTGlzdHMudHh0Lm9yaWcJMjAxMy0wNS0x
 NSAyMTo0MDozMy4wMDAwMDAwMDAgLTA1MDAKKysrKyBzb3VyY2Uvc2hhcmVkX2xpYi9DTWFrZUxp
 c3RzLnR4dAkyMDEzLTA1LTE1IDIxOjQxOjAwLjAwMDAwMDAwMCAtMDUwMAorQEAgLTExNiw3ICsx
 MTYsNyBAQAorICMKKyAjCSAgICAgICAgSU5DTFVERV9ESVJFQ1RPUklFUygke0xVQUpJVF9JTkNM
 VURFX0RJUn0pCisgIwkgICAgICAgIElGKFVOSVgpCistIwkJICAgICAgICBTRVQoRVhURVJOQUxf
 TElCUyAke0VYVEVSTkFMX0xJQlN9ICR7TFVBSklUX0xJQlJBUklFU30gImxpYmRsLnNvIikKKysj
 CQkgICAgICAgIFNFVChFWFRFUk5BTF9MSUJTICR7RVhURVJOQUxfTElCU30gJHtMVUFKSVRfTElC
 UkFSSUVTfSAke0NNQUtFX0RMX0xJQlN9KQorICMJICAgICAgICBFTkRJRigpCisgIyAgICAgICAg
 RUxTRSgpCisgIyAgICAgICAgICAgICAgICBNRVNTQUdFKFNUQVRVUyAiKipXQVJOSU5HOiBMVUFK
 SVQgTk9UIGZvdW5kLCBzbyBMdWEgcGVyZm9ybWFuY2UgbWF5IHN1ZmZlci4iKQogQEAgLTEyNCw3
 ICsxMjQsNyBAQAogICAgICAgICAgRklORF9QQUNLQUdFKExVQSBSRVFVSVJFRCkKICAgICAgICAg
 IElOQ0xVREVfRElSRUNUT1JJRVMoJHtMVUFfSU5DTFVERV9ESVJ9KQpAQCAtOSwzICsxOCwxNyBA
 QAogICAgICAgICAgRU5ESUYoKQogICMgICAgICAgIEVORElGKCkKICAKK0BAIC0yOTcsNyArMjk3
 LDEyIEBACisgCQlBRERfREVGSU5JVElPTlMoLURNSU5JVVBOUENfVkVSU0lPTl9QUkUxXzYpCisg
 ICAgICAgICAgICAgICAgIG1lc3NhZ2UoU1RBVFVTICJBZGRpbmcgbWFjcm8gZm9yIG1pbml1cG5w
 YyB2ZXJzaW9uOiBwcmUgdjEuNiIpCisgCUVORElGKCkKKy0gICAgICAgIElGKE5PVCBNSU5JVVBO
 UENfVkVSU0lPTl9QUkUxXzUgQU5EIE5PVCBNSU5JVVBOUENfVkVSU0lPTl9QUkUxXzYpCisrCUlG
 KE1JTklVUE5QQ19WRVJTSU9OX1BSRTFfNykKKysJCUFERF9ERUZJTklUSU9OUygtRE1JTklVUE5Q
 Q19WRVJTSU9OX1BSRTFfNykKKysgICAgICAgICAgICAgICAgbWVzc2FnZShTVEFUVVMgIkFkZGlu
 ZyBtYWNybyBmb3IgbWluaXVwbnBjIHZlcnNpb246IHByZSB2MS43IikKKysJRU5ESUYoKQorKwor
 KyAgICAgICAgSUYoTk9UIE1JTklVUE5QQ19WRVJTSU9OX1BSRTFfNSBBTkQgTk9UIE1JTklVUE5Q
 Q19WRVJTSU9OX1BSRTFfNiBBTkQgTk9UIE1JTklVUE5QQ19WRVJTSU9OX1BSRTFfNykKKyAgICAg
 ICAgICAgICAgICAgbWVzc2FnZShTVEFUVVMgIioqTm8gbWFjcm9zIHJlcXVpcmVkIGZvciBtaW5p
 dXBucGMgdmVyc2lvbiIpCisgICAgICAgICBFTkRJRigpCisgCg==
 --=_ab01c5abc9ac03ffbe02bdc99de49104--
 
State-Changed-From-To: feedback->closed 
State-Changed-By: rakuco 
State-Changed-When: Tue Jun 11 17:36:48 UTC 2013 
State-Changed-Why:  
Committed. Thanks! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=177987 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/177987: commit references a PR
Date: Tue, 11 Jun 2013 17:36:31 +0000 (UTC)

 Author: rakuco
 Date: Tue Jun 11 17:36:22 2013
 New Revision: 320617
 URL: http://svnweb.freebsd.org/changeset/ports/320617
 
 Log:
   Apply some upstream patches to fix the build with recent versions of miniupnpc.
   
   While here, convert from NOPORTDOCS to the OptionsNG variant.
   
   PR:		ports/177987
   Submitted by:	Rusty Nejdl <rnejdl@ringofsaturn.com> (maintainer)
 
 Added:
   head/games/megaglest/files/patch-mk-cmake-modules-FindMiniupnpc.cmake   (contents, props changed)
   head/games/megaglest/files/patch-source-share_lib-sources-platform-posix-socket.cpp   (contents, props changed)
 Modified:
   head/games/megaglest/Makefile
   head/games/megaglest/files/patch-source-shared_lib-CMakeLists.txt
 
 Modified: head/games/megaglest/Makefile
 ==============================================================================
 --- head/games/megaglest/Makefile	Tue Jun 11 16:52:13 2013	(r320616)
 +++ head/games/megaglest/Makefile	Tue Jun 11 17:36:22 2013	(r320617)
 @@ -3,6 +3,7 @@
  
  PORTNAME=	megaglest
  PORTVERSION=	3.7.1
 +PORTREVISION=	1
  CATEGORIES=	games
  MASTER_SITES=	SF/${PORTNAME}/${PORTNAME}_${PORTVERSION}/
  DISTNAME=	${PORTNAME}-source-${PORTVERSION}
 @@ -53,7 +54,7 @@ post-patch:
  do-install:
  	${STRIP_CMD} ${WRKSRC}/mk/linux/megaglest
  	@${MKDIR} ${DATADIR}
 -.if !defined(NOPORTDOCS)
 +.if ${PORT_OPTIONS:MDOCS}
  	@${MKDIR} ${DOCSDIR}
  .endif
  	${INSTALL_PROGRAM} ${WRKSRC}/mk/linux/megaglest ${PREFIX}/bin/${PORTNAME}
 
 Added: head/games/megaglest/files/patch-mk-cmake-modules-FindMiniupnpc.cmake
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/games/megaglest/files/patch-mk-cmake-modules-FindMiniupnpc.cmake	Tue Jun 11 17:36:22 2013	(r320617)
 @@ -0,0 +1,114 @@
 +--- mk/cmake/Modules/FindMiniupnpc.cmake.orig	2013-05-15 21:42:23.000000000 -0500
 ++++ mk/cmake/Modules/FindMiniupnpc.cmake	2013-05-15 21:42:02.000000000 -0500
 +@@ -58,20 +58,40 @@
 +     #include <stdio.h>
 +     int main()
 +     {
 +-        struct UPNPDev *devlist = NULL;
 +-	int upnp_delay = 5000;
 +-	const char *upnp_multicastif = NULL;
 +-	const char *upnp_minissdpdsock = NULL;
 +-	int upnp_sameport = 0;
 +-	int upnp_ipv6 = 0;
 +-	int upnp_error = 0;
 +-	devlist = upnpDiscover(upnp_delay, upnp_multicastif, upnp_minissdpdsock, upnp_sameport, upnp_ipv6, &upnp_error);
 ++        static struct UPNPUrls urls;
 ++        static struct IGDdatas data;
 ++
 ++        GetUPNPUrls (&urls, &data, \"myurl\",0);
 + 
 +         return 0;
 +     }"
 +-   MINIUPNPC_VERSION_1_6_OR_HIGHER)
 +-    
 +-   IF (NOT MINIUPNPC_VERSION_1_6_OR_HIGHER)
 ++   MINIUPNPC_VERSION_1_7_OR_HIGHER)
 ++
 ++  IF (NOT MINIUPNPC_VERSION_1_7_OR_HIGHER)
 ++          set(CMAKE_REQUIRED_INCLUDES ${MINIUPNP_INCLUDE_DIR})
 ++          set(CMAKE_REQUIRED_LIBRARIES ${MINIUPNP_LIBRARY})
 ++          check_cxx_source_runs("
 ++            #include <miniwget.h>
 ++            #include <miniupnpc.h>
 ++            #include <upnpcommands.h>
 ++            #include <stdio.h>
 ++            int main()
 ++            {
 ++                struct UPNPDev *devlist = NULL;
 ++	        int upnp_delay = 5000;
 ++	        const char *upnp_multicastif = NULL;
 ++	        const char *upnp_minissdpdsock = NULL;
 ++	        int upnp_sameport = 0;
 ++	        int upnp_ipv6 = 0;
 ++	        int upnp_error = 0;
 ++	        devlist = upnpDiscover(upnp_delay, upnp_multicastif, upnp_minissdpdsock, upnp_sameport, upnp_ipv6, &upnp_error);
 ++
 ++                return 0;
 ++            }"
 ++           MINIUPNPC_VERSION_PRE1_7)
 ++   ENDIF()
 ++ 
 ++   IF (NOT MINIUPNPC_VERSION_PRE1_7 AND NOT MINIUPNPC_VERSION_1_7_OR_HIGHER)
 +           set(CMAKE_REQUIRED_INCLUDES ${MINIUPNP_INCLUDE_DIR})
 +           set(CMAKE_REQUIRED_LIBRARIES ${MINIUPNP_LIBRARY})
 +           check_cxx_source_runs("
 +@@ -96,25 +116,27 @@
 + 
 +    ENDIF()
 + 
 +-   set(CMAKE_REQUIRED_INCLUDES ${MINIUPNP_INCLUDE_DIR})
 +-   set(CMAKE_REQUIRED_LIBRARIES ${MINIUPNP_LIBRARY})
 +-   check_cxx_source_runs("
 +-    #include <miniwget.h>
 +-    #include <miniupnpc.h>
 +-    #include <upnpcommands.h>
 +-    #include <stdio.h>
 +-    static struct UPNPUrls urls;
 +-    static struct IGDdatas data;
 +-    int main()
 +-    {
 +-        char externalIP[16]     = "";
 +-	UPNP_GetExternalIPAddress(urls.controlURL, data.first.servicetype, externalIP);
 ++   IF (NOT MINIUPNPC_VERSION_PRE1_6 AND NOT MINIUPNPC_VERSION_PRE1_7 AND NOT MINIUPNPC_VERSION_1_7_OR_HIGHER)
 ++           set(CMAKE_REQUIRED_INCLUDES ${MINIUPNP_INCLUDE_DIR})
 ++           set(CMAKE_REQUIRED_LIBRARIES ${MINIUPNP_LIBRARY})
 ++           check_cxx_source_runs("
 ++            #include <miniwget.h>
 ++            #include <miniupnpc.h>
 ++            #include <upnpcommands.h>
 ++            #include <stdio.h>
 ++            static struct UPNPUrls urls;
 ++            static struct IGDdatas data;
 ++            int main()
 ++            {
 ++                char externalIP[16]     = "";
 ++	        UPNP_GetExternalIPAddress(urls.controlURL, data.first.servicetype, externalIP);
 + 
 +-        return 0;
 +-    }"
 +-    MINIUPNPC_VERSION_1_5_OR_HIGHER)
 ++                return 0;
 ++            }"
 ++            MINIUPNPC_VERSION_1_5_OR_HIGHER)
 ++    ENDIF()
 + 
 +-    IF (NOT MINIUPNPC_VERSION_1_5_OR_HIGHER)
 ++    IF (NOT MINIUPNPC_VERSION_1_5_OR_HIGHER AND NOT MINIUPNPC_VERSION_PRE1_6 AND NOT MINIUPNPC_VERSION_PRE1_7 AND NOT MINIUPNPC_VERSION_1_7_OR_HIGHER)
 +          set(CMAKE_REQUIRED_INCLUDES ${MINIUPNP_INCLUDE_DIR})
 +          set(CMAKE_REQUIRED_LIBRARIES ${MINIUPNP_LIBRARY})
 +          check_cxx_source_runs("
 +@@ -141,8 +163,12 @@
 +     IF(MINIUPNPC_VERSION_PRE1_6)
 + 	message(STATUS "Found miniupnpc version is pre v1.6")
 +     ENDIF()
 +-    IF(NOT MINIUPNPC_VERSION_PRE1_5 AND NOT MINIUPNPC_VERSION_PRE1_6)
 +-	message(STATUS "Found miniupnpc version is v1.6 or higher")
 ++    IF(MINIUPNPC_VERSION_PRE1_7)
 ++	message(STATUS "Found miniupnpc version is pre v1.7")
 ++    ENDIF()
 ++
 ++    IF(NOT MINIUPNPC_VERSION_PRE1_5 AND NOT MINIUPNPC_VERSION_PRE1_6 AND NOT MINIUPNPC_VERSION_PRE1_7)
 ++	message(STATUS "Found miniupnpc version is v1.7 or higher")
 +     ENDIF()
 + 
 + else ()
 
 Added: head/games/megaglest/files/patch-source-share_lib-sources-platform-posix-socket.cpp
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/games/megaglest/files/patch-source-share_lib-sources-platform-posix-socket.cpp	Tue Jun 11 17:36:22 2013	(r320617)
 @@ -0,0 +1,25 @@
 +--- source/shared_lib/sources/platform/posix/socket.cpp.orig	2013-05-15 21:33:42.000000000 -0500
 ++++ source/shared_lib/sources/platform/posix/socket.cpp	2013-05-15 21:37:06.000000000 -0500
 +@@ -2478,13 +2478,22 @@
 + 				if(SystemFlags::VERBOSE_MODE_ENABLED) printf("UPnP device found: %s %s\n", dev->descURL, dev->st);
 + 
 + 				//printf("UPnP device found: [%s] [%s] lanaddr [%s]\n", dev->descURL, dev->st,lanaddr);
 ++#ifndef MINIUPNPC_VERSION_PRE1_7
 ++				descXML = (char *)miniwget_getaddr(dev->descURL, &descXMLsize, lanaddr, (sizeof(lanaddr) / sizeof(lanaddr[0])),0);
 ++#else
 + 				descXML = (char *)miniwget_getaddr(dev->descURL, &descXMLsize, lanaddr, (sizeof(lanaddr) / sizeof(lanaddr[0])));
 ++#endif
 + 				if(SystemFlags::getSystemSettingType(SystemFlags::debugNetwork).enabled) SystemFlags::OutputDebug(SystemFlags::debugNetwork,"LAN address: %s\n", lanaddr);
 + 
 + 				if (descXML) {
 + 					parserootdesc (descXML, descXMLsize, &data);
 + 					free (descXML); descXML = 0;
 ++
 ++#ifndef MINIUPNPC_VERSION_PRE1_7
 ++					GetUPNPUrls (&urls, &data, dev->descURL,0);
 ++#else
 + 					GetUPNPUrls (&urls, &data, dev->descURL);
 ++#endif
 + 				}
 + 				snprintf(buf, 255,"UPnP device found: %s %s LAN address %s", dev->descURL, dev->st, lanaddr);
 + 
 
 Modified: head/games/megaglest/files/patch-source-shared_lib-CMakeLists.txt
 ==============================================================================
 --- head/games/megaglest/files/patch-source-shared_lib-CMakeLists.txt	Tue Jun 11 16:52:13 2013	(r320616)
 +++ head/games/megaglest/files/patch-source-shared_lib-CMakeLists.txt	Tue Jun 11 17:36:22 2013	(r320617)
 @@ -1,5 +1,14 @@
 ---- source/shared_lib/CMakeLists.txt.orig	2012-11-25 00:19:10.000000000 +0000
 -+++ source/shared_lib/CMakeLists.txt	2012-11-25 00:12:01.000000000 +0000
 +--- source/shared_lib/CMakeLists.txt.orig	2013-05-15 21:40:33.000000000 -0500
 ++++ source/shared_lib/CMakeLists.txt	2013-05-15 21:41:00.000000000 -0500
 +@@ -116,7 +116,7 @@
 + #
 + #	        INCLUDE_DIRECTORIES(${LUAJIT_INCLUDE_DIR})
 + #	        IF(UNIX)
 +-#		        SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${LUAJIT_LIBRARIES} "libdl.so")
 ++#		        SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${LUAJIT_LIBRARIES} ${CMAKE_DL_LIBS})
 + #	        ENDIF()
 + #        ELSE()
 + #                MESSAGE(STATUS "**WARNING: LUAJIT NOT found, so Lua performance may suffer.")
  @@ -124,7 +124,7 @@
           FIND_PACKAGE(LUA REQUIRED)
           INCLUDE_DIRECTORIES(${LUA_INCLUDE_DIR})
 @@ -9,3 +18,17 @@
           ENDIF()
   #        ENDIF()
   
 +@@ -297,7 +297,12 @@
 + 		ADD_DEFINITIONS(-DMINIUPNPC_VERSION_PRE1_6)
 +                 message(STATUS "Adding macro for miniupnpc version: pre v1.6")
 + 	ENDIF()
 +-        IF(NOT MINIUPNPC_VERSION_PRE1_5 AND NOT MINIUPNPC_VERSION_PRE1_6)
 ++	IF(MINIUPNPC_VERSION_PRE1_7)
 ++		ADD_DEFINITIONS(-DMINIUPNPC_VERSION_PRE1_7)
 ++                message(STATUS "Adding macro for miniupnpc version: pre v1.7")
 ++	ENDIF()
 ++
 ++        IF(NOT MINIUPNPC_VERSION_PRE1_5 AND NOT MINIUPNPC_VERSION_PRE1_6 AND NOT MINIUPNPC_VERSION_PRE1_7)
 +                 message(STATUS "**No macros required for miniupnpc version")
 +         ENDIF()
 + 
 _______________________________________________
 svn-ports-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-ports-all
 To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
 
>Unformatted:
