From 73a474a505eb08c66a977b6d0ba884b5ac6b02d3 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Jun 15 2014 18:25:46 +0000 Subject: patch to stop UPNP from openning port 0 --- diff --git a/rb_libtorrent-0.16.8-upnp_remove_port0..patch b/rb_libtorrent-0.16.8-upnp_remove_port0..patch new file mode 100644 index 0000000..99dfea3 --- /dev/null +++ b/rb_libtorrent-0.16.8-upnp_remove_port0..patch @@ -0,0 +1,50 @@ +--- a/src/upnp.cpp ++++ b/src/upnp.cpp +@@ -1286,21 +1286,11 @@ + update_map(d, mapping, l); + return; + } +- else if (s.error_code == 718 || s.error_code == 727) ++ else if (s.error_code == 727) + { +- if (m.external_port != 0) +- { +- // conflict in mapping, set port to wildcard +- // and let the router decide +- m.external_port = 0; +- m.action = mapping_t::action_add; +- ++m.failcount; +- update_map(d, mapping, l); +- return; +- } + return_error(mapping, s.error_code, l); + } +- else if (s.error_code == 716 || (s.error_code == 501 && m.failcount < 4 && m.external_port == 0)) ++ else if (s.error_code == 718 || (s.error_code == 501 && m.failcount < 4)) + { + // some routers return 501 action failed, instead of 716 + // The external port cannot be wildcarder + +--- a/src/session_impl.cpp ++++ b/src/session_impl.cpp +@@ -2392,7 +2392,8 @@ + m_tcp_mapping[0] = m_natpmp->add_mapping(natpmp::tcp, tcp_port, tcp_port); + #ifdef TORRENT_USE_OPENSSL + if (m_ssl_mapping[0] != -1) m_natpmp->delete_mapping(m_ssl_mapping[0]); +- m_ssl_mapping[0] = m_natpmp->add_mapping(natpmp::tcp, ssl_port, ssl_port); ++ if (ssl_port > 0) m_ssl_mapping[0] = m_natpmp->add_mapping(natpmp::tcp ++ , ssl_port, ssl_port); + #endif + } + if ((mask & 2) && m_upnp.get()) +@@ -2401,7 +2402,8 @@ + m_tcp_mapping[1] = m_upnp->add_mapping(upnp::tcp, tcp_port, tcp_port); + #ifdef TORRENT_USE_OPENSSL + if (m_ssl_mapping[1] != -1) m_upnp->delete_mapping(m_ssl_mapping[1]); +- m_ssl_mapping[1] = m_upnp->add_mapping(upnp::tcp, ssl_port, ssl_port); ++ if (ssl_port > 0) m_ssl_mapping[1] = m_upnp->add_mapping(upnp::tcp ++ , ssl_port, ssl_port); + #endif + } + } + diff --git a/rb_libtorrent.spec b/rb_libtorrent.spec index 62abe81..041e9a3 100644 --- a/rb_libtorrent.spec +++ b/rb_libtorrent.spec @@ -1,6 +1,6 @@ Name: rb_libtorrent Version: 0.16.8 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A C++ BitTorrent library aiming to be the best alternative Group: System Environment/Libraries @@ -12,6 +12,8 @@ Source1: %{name}-README-renames.Fedora Source2: %{name}-COPYING.Boost Source3: %{name}-COPYING.zlib +# https://github.com/qbittorrent/qBittorrent/issues/1758 +Patch0: %{name}-0.16.8-upnp_remove_port0..patch BuildRequires: asio-devel BuildRequires: boost-devel @@ -83,6 +85,7 @@ module) that allow it to be used from within Python applications. %prep %setup -q -n "libtorrent-rasterbar-%{version}" +%patch0 -p1 ## The RST files are the sources used to create the final HTML files; and are ## not needed. @@ -168,6 +171,9 @@ rm -fv %{buildroot}%{_libdir}/lib*.a %{python_sitearch}/libtorrent.so %changelog +* Sun Jun 15 2014 Leigh Scott - 0.16.8-2 +- patch to stop UPNP from openning port 0 + * Sun Feb 24 2013 Rahul Sundaram - 0.16.8-1 - upstream release 0.16.8