Advertisement
tamjan

0000-miniupnpc-2.2.8.patch

Jan 13th, 2025
380
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 8.32 KB | None | 0 0
  1. --- ./configure.orig    2021-04-30 21:29:06.000000000 +0200
  2. +++ ./configure 2025-01-13 12:34:10.259269138 +0100
  3. @@ -32805,6 +32805,49 @@
  4.     LIBS=$oLIBS
  5.      fi
  6.      if test x"${have_libminiupnp}" = xt; then
  7. +        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for miniupnpc version >= 2.2.8" >&5
  8. +$as_echo_n "checking for miniupnpc version >= 2.2.8... " >&6; }
  9. +   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  10. +/* end confdefs.h.  */
  11. +
  12. +            #include <stdio.h>
  13. +            #include <miniupnpc/miniupnpc.h>
  14. +            #include <miniupnpc/upnpcommands.h>
  15. +            #include <miniupnpc/upnperrors.h>
  16. +int
  17. +main ()
  18. +{
  19. +
  20. +
  21. +            #ifndef MINIUPNPC_API_VERSION
  22. +       #error "no api version define"
  23. +            #else
  24. +            # if MINIUPNPC_API_VERSION < 18
  25. +            #error "api version too low"
  26. +            # endif
  27. +            #endif
  28. +  ;
  29. +  return 0;
  30. +}
  31. +_ACEOF
  32. +if ac_fn_c_try_compile "$LINENO"; then :
  33. +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  34. +$as_echo "yes" >&6; }
  35. +
  36. +$as_echo "#define HAVE_LIBMINIUPNP 1" >>confdefs.h
  37. +
  38. +
  39. +$as_echo "#define HAVE_LIBMINIUPNP228 1" >>confdefs.h
  40. +
  41. +          unset no_upnp
  42. +     SOCKDDEPS="${SOCKDDEPS}${SOCKDDEPS:+ }$UPNPLIB"
  43. +     DLIBDEPS="${DLIBDEPS}${DLIBDEPS:+ }$UPNPLIB"
  44. +else
  45. +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  46. +$as_echo "no" >&6; }
  47. +fi
  48. +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  49. +
  50.          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for miniupnpc version >= 1.7" >&5
  51.  $as_echo_n "checking for miniupnpc version >= 1.7... " >&6; }
  52.     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  53. @@ -32822,8 +32865,8 @@
  54.              #ifndef MINIUPNPC_API_VERSION
  55.         #error "no api version define"
  56.              #else
  57. -            # if MINIUPNPC_API_VERSION < 8
  58. -            #error "api version too low"
  59. +            # if MINIUPNPC_API_VERSION < 8 || MINIUPNPC_API_VERSION > 17
  60. +            #error "api version too low or high"
  61.              # endif
  62.              #endif
  63.    ;
  64. --- ./include/autoconf.h.in.orig    2021-04-30 21:29:27.000000000 +0200
  65. +++ ./include/autoconf.h.in 2025-01-13 13:18:20.846544677 +0100
  66. @@ -797,6 +797,9 @@
  67.  /* UPNP support library 1.7 */
  68.  #undef HAVE_LIBMINIUPNP17
  69.  
  70. +/* UPNP support library 2.2.8 */
  71. +#undef HAVE_LIBMINIUPNP228
  72. +
  73.  /* Define to 1 if you have the `prldap60' library (-lprldap60). */
  74.  #undef HAVE_LIBPRLDAP60
  75.  
  76. --- ./include/common.h.orig 2021-02-02 20:34:15.000000000 +0100
  77. +++ ./include/common.h  2025-01-13 13:16:32.969992076 +0100
  78. @@ -1404,9 +1404,20 @@
  79.  /* return codes from UPNP_GetValidIGD(). */
  80.  #define UPNP_NO_IGD           (0)
  81.  #define UPNP_CONNECTED_IGD    (1)
  82. +
  83. +#if HAVE_LIBMINIUPNP228
  84. +
  85. +#define UPNP_RESERVED_IGD     (2)
  86. +#define UPNP_DISCONNECTED_IGD (3)
  87. +#define UPNP_UNKNOWN_DEVICE   (4)
  88. +
  89. +#else /* !HAVE_LIBMINIUPNP_228 */
  90. +
  91.  #define UPNP_DISCONNECTED_IGD (2)
  92.  #define UPNP_UNKNOWN_DEVICE   (3)
  93.  
  94. +#endif /* !HAVE_LIBMINIUPNP_228 */
  95. +
  96.  #define UPNP_SUCCESS          (1)
  97.  #define UPNP_FAILURE          (2)
  98.  
  99. --- ./include/redefac.h.orig    2021-04-30 21:48:32.000000000 +0200
  100. +++ ./include/redefac.h 2025-01-13 13:13:43.206075810 +0100
  101. @@ -1004,6 +1004,10 @@
  102.  #define HAVE_LIBMINIUPNP17 0
  103.  #endif
  104.  
  105. +#ifndef HAVE_LIBMINIUPNP228
  106. +#define HAVE_LIBMINIUPNP228 0
  107. +#endif
  108. +
  109.  #ifndef HAVE_LIBPRLDAP60
  110.  #define HAVE_LIBPRLDAP60 0
  111.  #endif
  112. --- ./lib/upnp.c.orig   2020-11-11 17:11:55.000000000 +0100
  113. +++ ./lib/upnp.c    2024-11-21 17:02:49.000000000 +0100
  114. @@ -42,7 +42,7 @@
  115.   */
  116.  
  117.  static const char rcsid[] =
  118. -"$Id: upnp.c,v 1.153.4.4.2.2.4.2 2020/11/11 16:11:55 karls Exp $";
  119. +"$Id: upnp.c,v 1.153.4.4.2.2.4.2.4.1 2024/11/21 16:02:49 karls Exp $";
  120.  
  121.  #include "common.h"
  122.  
  123. @@ -154,7 +154,7 @@
  124.                             addrstring,
  125.                             NULL,
  126.                             0
  127. -#if HAVE_LIBMINIUPNP17
  128. +#if HAVE_LIBMINIUPNP17 || HAVE_LIBMINIUPNP228
  129.                            ,0,
  130.  
  131.  #if MINIUPNPC_API_VERSION >= 14
  132. @@ -162,7 +162,7 @@
  133.  #endif /* MINIUPNPC_API_VERSION >= 14 */
  134.  
  135.                            &rc
  136. -#endif /* HAVE_LIBMINIUPNP17 */
  137. +#endif /* HAVE_LIBMINIUPNP17 || HAVE_LIBMINIUPNP228 */
  138.                           );
  139.  
  140.  #if SOCKS_CLIENT && SOCKSLIBRARY_DYNAMIC
  141. @@ -208,7 +208,12 @@
  142.           socks_autoadd_directroute(&commands, &protocols, &saddr, &smask);
  143.        }
  144.  
  145. +#if HAVE_LIBMINIUPNP228
  146. +      devtype = UPNP_GetValidIGD(dev, &url, &data, myaddr, sizeof(myaddr),
  147. +                                 NULL, 0);
  148. +#else /* !HAVE_LIBMINIUPNP228 */
  149.        devtype = UPNP_GetValidIGD(dev, &url, &data, myaddr, sizeof(myaddr));
  150. +#endif /* !HAVE_LIBMINIUPNP228 */
  151.        switch (devtype) {
  152.           case UPNP_NO_IGD:
  153.              snprintf(emsg, emsglen, "no UPNP IGD discovered on local network");
  154. @@ -226,6 +231,20 @@
  155.              rc = 0;
  156.              break;
  157.  
  158. +#if HAVE_LIBMINIUPNP228
  159. +         case UPNP_RESERVED_IGD:
  160. +            snprintf(emsg, emsglen,
  161. +                    "UPNP IGD discovered at url %s, but its IP is reserved",
  162. +                    str2vis(url.controlURL,
  163. +                           strlen(url.controlURL),
  164. +                            vbuf,
  165. +                            sizeof(vbuf)));
  166. +
  167. +            swarnx("%s: %s", function, emsg);
  168. +            rc = -1;
  169. +            break;
  170. +#endif /* HAVE_LIBMINIUPNP228 */
  171. +
  172.           case UPNP_DISCONNECTED_IGD:
  173.              snprintf(emsg, emsglen,
  174.                      "UPNP IGD discovered at url %s, but it is not connected",
  175. @@ -273,12 +292,12 @@
  176.  #if HAVE_LIBMINIUPNP13
  177.        STRCPY_ASSERTLEN(gw->state.data.upnp.servicetype, data.servicetype);
  178.  
  179. -#elif HAVE_LIBMINIUPNP14 || HAVE_LIBMINIUPNP17
  180. +#elif HAVE_LIBMINIUPNP14 || HAVE_LIBMINIUPNP17 || HAVE_LIBMINIUPNP228
  181.        STRCPY_ASSERTLEN(gw->state.data.upnp.servicetype, data.CIF.servicetype);
  182.  
  183.  #else
  184.  #  error "unexpected miniupnp version"
  185. -#endif /* HAVE_LIBMINIUPNP17 */
  186. +#endif /* HAVE_LIBMINIUPNP14 || HAVE_LIBMINIUPNP17 || HAVE_LIBMINIUPNP228 */
  187.  
  188.        slog(LOG_NEGOTIATE, "%s: inited ok.  controlurl: %s, servicetype: %s",
  189.             function,
  190. @@ -756,9 +775,9 @@
  191.                                         buf,
  192.                                         protocol,
  193.                                         NULL
  194. -#if HAVE_LIBMINIUPNP17
  195. +#if HAVE_LIBMINIUPNP17 || HAVE_LIBMINIUPNP228
  196.                                         ,0
  197. -#endif /* HAVE_LIBMINIUPNP17 */
  198. +#endif /* HAVE_LIBMINIUPNP17 || HAVE_LIBMINIUPNP228 */
  199.                                         )) != UPNPCOMMAND_SUCCESS) {
  200.                 snprintf(emsg, emsglen,
  201.                         "UPNP_AddPortMapping() failed: %s", strupnperror(rc));
  202. --- ./miniupnpc.m4.orig 2012-11-02 13:08:14.000000000 +0100
  203. +++ ./miniupnpc.m4  2024-11-21 17:02:49.000000000 +0100
  204. @@ -20,7 +20,7 @@
  205.     LIBS=$oLIBS
  206.      fi
  207.      if test x"${have_libminiupnp}" = xt; then
  208. -        AC_MSG_CHECKING([for miniupnpc version >= 1.7])
  209. +        AC_MSG_CHECKING([for miniupnpc version >= 2.2.8])
  210.     AC_TRY_COMPILE([
  211.              #include <stdio.h>
  212.              #include <miniupnpc/miniupnpc.h>
  213. @@ -30,11 +30,33 @@
  214.              #ifndef MINIUPNPC_API_VERSION
  215.         #error "no api version define"
  216.              #else
  217. -            # if MINIUPNPC_API_VERSION < 8
  218. +            # if MINIUPNPC_API_VERSION < 18
  219.              #error "api version too low"
  220.              # endif
  221.              #endif],
  222.           [AC_MSG_RESULT(yes)
  223. +          AC_DEFINE(HAVE_LIBMINIUPNP, 1, [UPNP support library])
  224. +          AC_DEFINE(HAVE_LIBMINIUPNP228, 1, [UPNP support library 2.2.8])
  225. +          unset no_upnp
  226. +     SOCKDDEPS="${SOCKDDEPS}${SOCKDDEPS:+ }$UPNPLIB"
  227. +     DLIBDEPS="${DLIBDEPS}${DLIBDEPS:+ }$UPNPLIB"],
  228. +         [AC_MSG_RESULT(no)])
  229. +
  230. +        AC_MSG_CHECKING([for miniupnpc version >= 1.7])
  231. +   AC_TRY_COMPILE([
  232. +            #include <stdio.h>
  233. +            #include <miniupnpc/miniupnpc.h>
  234. +            #include <miniupnpc/upnpcommands.h>
  235. +            #include <miniupnpc/upnperrors.h>], [
  236. +
  237. +            #ifndef MINIUPNPC_API_VERSION
  238. +       #error "no api version define"
  239. +            #else
  240. +            # if MINIUPNPC_API_VERSION < 8 || MINIUPNPC_API_VERSION > 17
  241. +            #error "api version too low or high"
  242. +            # endif
  243. +            #endif],
  244. +         [AC_MSG_RESULT(yes)
  245.            AC_DEFINE(HAVE_LIBMINIUPNP, 1, [UPNP support library])
  246.            AC_DEFINE(HAVE_LIBMINIUPNP17, 1, [UPNP support library 1.7])
  247.            unset no_upnp
  248.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement