merged RC_1_1 into master

This commit is contained in:
arvidn 2018-04-04 19:48:26 +02:00
commit 32b2de8f17
18 changed files with 65 additions and 68 deletions

View File

@ -56,19 +56,15 @@ before_install:
- 'if [[ $TRAVIS_OS_NAME == "osx" && ( "$tests" == "1" || "$sim" == 1 || "$examples" == "1" || "$tools" == "1" || "$python" == "1" ) ]]; then
travis_retry brew update > /dev/null && brew install ccache boost-build;
fi'
- 'if [[ $TRAVIS_OS_NAME == "osx" && "$python" == "1" ]]; then travis_retry brew install boost-python python2; fi'
# we have to use python from brew rather than the system provided python
# because of OSX System Integrity Protection, which prevents injecting
# user-libraries (i.e. python modules) into system binaries (i.e. /usr/bin/python)
- 'if [ "$docs" = "1" ]; then
easy_install --user docutils;
mkdir -p /Users/travis/Library/Python/2.7/lib/python/site-packages;
echo ''import site; site.addsitedir("/usr/local/lib/python2.7/site-packages")'' >> /Users/travis/Library/Python/2.7/lib/python/site-packages/homebrew.pth;
easy_install --user Pygments;
easy_install --user aafigure;
pip install docutils;
pip install Pygments;
travis_retry brew install graphviz hunspell;
easy_install --user Pillow;
fi'
- 'if [[ $TRAVIS_OS_NAME == "osx" && "$python" == "1" ]]; then travis_retry brew install boost-python python2; fi'
- if [ "$coverage" == "1" ]; then
pip install --user codecov;
@ -130,7 +126,7 @@ install:
<linkflags>\"-arch armv7\"
<linkflags>-fobjc-abi-version=2 ;" >>~/user-config.jam'
- 'echo "using python : 2.7 ;" >> ~/user-config.jam'
- if [ "$docs" == "1" ]; then /Users/travis/Library/Python/2.7/bin/rst2html.py --version; fi
- if [ "$docs" == "1" ]; then rst2html.py --version; fi
- 'if [ "$lint" == "1" ]; then curl "https://raw.githubusercontent.com/google/styleguide/71ec7f1e524969c19ce33cfc72e8e023f2b98ee2/cpplint/cpplint.py" >~/cpplint.py; fi'
- 'if [ $sonar_scan == "1" ]; then
@ -169,7 +165,7 @@ script:
- cd docs
- 'if [ "$docs" == "1" ]; then
make spell-check RST2HTML=/Users/travis/Library/Python/2.7/bin/rst2html.py AAFIGURE=echo;
make spell-check RST2HTML=rst2html.py AAFIGURE=echo;
fi'
- cd ..

View File

@ -58,7 +58,7 @@ dependent boost libraries with the correct compiler settings, in order to
ensure that the build targets are link compatible (see `boost guidelines`__
for some details on this issue).
__ http://boost.org/more/separate_compilation.html
__ https://boost.org/more/separate_compilation.html
Since BBv2 will build the boost libraries for you, you need the full boost
source package. Having boost installed via some package system is usually not
@ -74,7 +74,7 @@ Step 1: Download boost
You'll find boost here__.
__ http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=8041&release_id=619445
__ https://sourceforge.net/project/showfiles.php?group_id=7586&package_id=8041&release_id=619445
Extract the archive to some directory where you want it. For the sake of this
guide, let's assume you extract the package to ``c:\boost_1_64_0`` (I'm using
@ -141,7 +141,7 @@ Note that the spaces around the semi-colons and colons are important!
Also see the `official installation instructions`_.
.. _`official installation instructions`: http://www.boost.org/doc/html/bbv2/installation.html
.. _`official installation instructions`: https://www.boost.org/doc/html/bbv2/installation.html
Step 3: Building libtorrent
@ -392,8 +392,8 @@ boost.program-options symbols.
For more information, see the `Boost build v2 documentation`__, or more
specifically `the section on builtin features`__.
__ http://www.boost.org/tools/build/v2/index.html
__ http://www.boost.org/doc/html/bbv2/reference.html#bbv2.advanced.builtins.features
__ https://www.boost.org/tools/build/v2/index.html
__ https://www.boost.org/doc/html/bbv2/reference.html#bbv2.advanced.builtins.features
building with autotools
@ -601,7 +601,7 @@ defines you can use to control the build.
| | custom one. |
+----------------------------------------+-------------------------------------------------+
.. _`BEP 38`: http://www.bittorrent.org/beps/bep_0038.html
.. _`BEP 38`: https://www.bittorrent.org/beps/bep_0038.html
If you experience that libtorrent uses unreasonable amounts of cpu, it will
definitely help to define ``NDEBUG``, since it will remove the invariant checks

View File

@ -16,7 +16,7 @@ There are several ways to contribute to libtorrent at various levels. Any help i
much appreciated. If you're interested in something libtorrent related that's not
enumerated on this page, please contact arvid@libtorrent.org or the `mailing list`_.
.. _`mailing list`: http://lists.sourceforge.net/lists/listinfo/libtorrent-discuss
.. _`mailing list`: https://lists.sourceforge.net/lists/listinfo/libtorrent-discuss
1. Testing
This is not just limited to finding bugs and ways to reproduce crashes, but also

View File

@ -50,7 +50,7 @@ IPv6 support
**This extension is superseeded by** `BEP 32`_.
.. _`BEP 32`: http://bittorrent.org/beps/bep_0032.html
.. _`BEP 32`: https://bittorrent.org/beps/bep_0032.html
The DHT messages that don't support IPv6 are the ``nodes`` replies.
They encode all the contacts as 6 bytes packed together in sequence in a

View File

@ -390,8 +390,8 @@ rationale
---------
The reason to use curve25519_ instead of, for instance, RSA is compactness. According to
http://cr.yp.to/, curve25519 is free from patent claims and there are open implementations
https://cr.yp.to/, curve25519 is free from patent claims and there are open implementations
in both C and Java.
.. _curve25519: http://cr.yp.to/ecdh.html
.. _curve25519: https://cr.yp.to/ecdh.html

View File

@ -280,7 +280,7 @@ number is outdated.
The error message (as specified by BEP5_) looks like this:
.. _BEP5: http://www.bittorrent.org/beps/bep_0005.html
.. _BEP5: https://www.bittorrent.org/beps/bep_0005.html
.. parsed-literal::
@ -475,7 +475,7 @@ Libraries that implement ed25519 DSA:
* libsodium_
* `nightcracker's ed25519`_
.. _NaCl: http://nacl.cr.yp.to/
.. _NaCl: https://nacl.cr.yp.to/
.. _libsodium: https://github.com/jedisct1/libsodium
.. _`nightcracker's ed25519`: https://github.com/nightcracker/ed25519

View File

@ -295,7 +295,7 @@ Don't have metadata:
| | | doesn't have any metadata. |
+-----------+---------------+----------------------------------------+
.. _`BEP 9`: http://bittorrent.org/beps/bep_0009.html
.. _`BEP 9`: https://bittorrent.org/beps/bep_0009.html
dont_have
---------

View File

@ -109,19 +109,19 @@ network
.. _`DHT extensions`: dht_extensions.html
.. _`BEP 5`: http://bittorrent.org/beps/bep_0005.html
.. _`BEP 7`: http://bittorrent.org/beps/bep_0007.html
.. _`BEP 9`: http://bittorrent.org/beps/bep_0009.html
.. _`BEP 10`: http://bittorrent.org/beps/bep_0010.html
.. _`BEP 12`: http://bittorrent.org/beps/bep_0012.html
.. _`BEP 15`: http://bittorrent.org/beps/bep_0015.html
.. _`BEP 16`: http://bittorrent.org/beps/bep_0016.html
.. _`BEP 17`: http://bittorrent.org/beps/bep_0017.html
.. _`BEP 19`: http://bittorrent.org/beps/bep_0019.html
.. _`BEP 21`: http://bittorrent.org/beps/bep_0021.html
.. _`BEP 24`: http://bittorrent.org/beps/bep_0024.html
.. _`BEP 27`: http://bittorrent.org/beps/bep_0027.html
.. _`BEP 29`: http://bittorrent.org/beps/bep_0029.html
.. _`BEP 5`: https://bittorrent.org/beps/bep_0005.html
.. _`BEP 7`: https://bittorrent.org/beps/bep_0007.html
.. _`BEP 9`: https://bittorrent.org/beps/bep_0009.html
.. _`BEP 10`: https://bittorrent.org/beps/bep_0010.html
.. _`BEP 12`: https://bittorrent.org/beps/bep_0012.html
.. _`BEP 15`: https://bittorrent.org/beps/bep_0015.html
.. _`BEP 16`: https://bittorrent.org/beps/bep_0016.html
.. _`BEP 17`: https://bittorrent.org/beps/bep_0017.html
.. _`BEP 19`: https://bittorrent.org/beps/bep_0019.html
.. _`BEP 21`: https://bittorrent.org/beps/bep_0021.html
.. _`BEP 24`: https://bittorrent.org/beps/bep_0024.html
.. _`BEP 27`: https://bittorrent.org/beps/bep_0027.html
.. _`BEP 29`: https://bittorrent.org/beps/bep_0029.html
.. _`extension protocol`: extension_protocol.html
highlighted features

View File

@ -60,9 +60,9 @@ symbols = \
static_links = \
{
".. _`BEP 3`: http://bittorrent.org/beps/bep_0003.html",
".. _`BEP 17`: http://bittorrent.org/beps/bep_0017.html",
".. _`BEP 19`: http://bittorrent.org/beps/bep_0019.html"
".. _`BEP 3`: https://bittorrent.org/beps/bep_0003.html",
".. _`BEP 17`: https://bittorrent.org/beps/bep_0017.html",
".. _`BEP 19`: https://bittorrent.org/beps/bep_0019.html"
}
anon_index = 0

View File

@ -81,13 +81,13 @@ libtorrent
.. _`DHT store extension`: dht_store.html
.. _`UDP tracker protocol`: udp_tracker_protocol.html
.. _`HTTP seed`: http://www.getright.com/seedtorrent.html
.. _multitracker: http://bittorrent.org/beps/bep_0012.html
.. _mailing list: http://lists.sourceforge.net/lists/listinfo/libtorrent-discuss
.. _multitracker: https://bittorrent.org/beps/bep_0012.html
.. _mailing list: https://lists.sourceforge.net/lists/listinfo/libtorrent-discuss
.. _archive: https://sourceforge.net/p/libtorrent/mailman/libtorrent-discuss/
.. _`who's using libtorrent?`: projects.html
.. _`report bugs`: https://github.com/arvidn/libtorrent/issues
.. _`github page`: https://github.com/arvidn/libtorrent
.. _blog: http://blog.libtorrent.org
.. _blog: https://blog.libtorrent.org
.. _java: https://github.com/frostwire/frostwire-jlibtorrent/
.. _python: python_binding.html
@ -133,9 +133,9 @@ See the contribute_ page for other ways to help out.
<span style="display:block;text-align:center;margin-top:1em">
<span style="display:inline-block">
<a class="FlattrButton" style="display:none;" href="http://libtorrent.org"></a>
<a class="FlattrButton" style="display:none;" href="https://libtorrent.org"></a>
<noscript><a href="https://flattr.com/thing/95662/libtorrent" target="_blank">
<img src="http://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" border="0" /></a></noscript>
<img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" border="0" /></a></noscript>
</span>
<span style="display:inline-block">
@ -158,7 +158,7 @@ Support
Please direct questions to the `mailing list`__, general libtorrent discussion.
__ http://lists.sourceforge.net/lists/listinfo/libtorrent-discuss
__ https://lists.sourceforge.net/lists/listinfo/libtorrent-discuss
You can usually find me as hydri in ``#libtorrent`` on ``irc.freenode.net``.
@ -167,7 +167,7 @@ license
libtorrent is released under the BSD-license_.
.. _BSD-license: http://opensource.org/licenses/bsd-license.php
.. _BSD-license: https://opensource.org/licenses/bsd-license.php
This means that you can use the library in your project without having to
release its source code. The only requirement is that you give credit

View File

@ -109,7 +109,7 @@ with an associated port.
For documentation on these types, please refer to the `asio documentation`_.
.. _`asio documentation`: http://www.boost.org/doc/libs/1_66_0/doc/html/boost_asio.html
.. _`asio documentation`: https://www.boost.org/doc/libs/1_66_0/doc/html/boost_asio.html
exceptions
==========
@ -602,8 +602,8 @@ There is limited support for HTTP redirects. In case some files are redirected
to *different hosts*, the files must be piece aligned or padded to be piece
aligned.
.. _`BEP 17`: http://bittorrent.org/beps/bep_0017.html
.. _`BEP 19`: http://bittorrent.org/beps/bep_0019.html
.. _`BEP 17`: https://bittorrent.org/beps/bep_0017.html
.. _`BEP 19`: https://bittorrent.org/beps/bep_0019.html
piece picker
============
@ -907,7 +907,7 @@ torrents it distributes, and issue separate peer certificates for each torrent.
A peer receiving a certificate will not necessarily be able to access all
torrents published by this root certificate (only if it has a "star cert").
.. _`RFC 2818`: http://www.ietf.org/rfc/rfc2818.txt
.. _`RFC 2818`: https://www.ietf.org/rfc/rfc2818.txt
testing
-------

View File

@ -7,7 +7,7 @@
var s = document.createElement('script'), t = document.getElementsByTagName('script')[0];
s.type = 'text/javascript';
s.async = true;
s.src = 'http://api.flattr.com/js/0.6/load.js?mode=auto';
s.src = 'https://api.flattr.com/js/0.6/load.js?mode=auto';
t.parentNode.insertBefore(s, t);
})();
/* ]]> */
@ -37,7 +37,7 @@
<table>
<tr>
<td><a href="index.html">home</a></td>
<td><a href="http://blog.libtorrent.org">blog</a></td>
<td><a href="https://blog.libtorrent.org">blog</a></td>
<td><a href="utp.html">uTP</a></td>
</tr>
<tr>

View File

@ -7,7 +7,7 @@
var s = document.createElement('script'), t = document.getElementsByTagName('script')[0];
s.type = 'text/javascript';
s.async = true;
s.src = 'http://api.flattr.com/js/0.6/load.js?mode=auto';
s.src = 'https://api.flattr.com/js/0.6/load.js?mode=auto';
t.parentNode.insertBefore(s, t);
})();
/* ]]> */
@ -48,7 +48,7 @@
<table>
<tr>
<td><a href="index.html">home</a></td>
<td><a href="http://blog.libtorrent.org">blog</a></td>
<td><a href="https://blog.libtorrent.org">blog</a></td>
<td><a href="utp.html">uTP</a></td>
</tr>
<tr>
@ -75,7 +75,7 @@
</div>
<div id="filler"></div>
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
<script src="https://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-1599045-1";

View File

@ -14,7 +14,7 @@ to download. It is not complete, please submit suggestions via pull requests at
https://github.com/arvidn/libtorrent or to the `mailing list`_. Ideally in the
form of patches against ``docs/troubleshooting.dot``.
.. _`mailing list`: http://lists.sourceforge.net/lists/listinfo/libtorrent-discuss
.. _`mailing list`: https://lists.sourceforge.net/lists/listinfo/libtorrent-discuss
|thumb|__

View File

@ -271,7 +271,7 @@ bdecode_node_ is in use.
For performance details on `bdecode()`_, see the `blog post about it`__.
__ http://blog.libtorrent.org/2015/03/bdecode-parsers/
__ https://blog.libtorrent.org/2015/03/bdecode-parsers/
.. _session: reference-Core.html#session
.. _session_handle: reference-Core.html#session_handle
@ -294,7 +294,7 @@ __ http://blog.libtorrent.org/2015/03/bdecode-parsers/
.. _`post_torrent_updates()`: reference-Core.html#post_torrent_updates()
.. _torrent_status: reference-Core.html#torrent_status
.. _state_update_alert: reference-Alerts.html#state_update_alert
.. _scalability: http://blog.libtorrent.org/2011/11/scalable-interfaces/
.. _scalability: https://blog.libtorrent.org/2011/11/scalable-interfaces/
.. _`save_resume_data()`: reference-Core.html#save_resume_data()
.. _save_resume_data_alert: reference-Alerts.html#save_resume_data_alert
.. _save_resume_data_failed_alert: reference-Alerts.html#save_resume_data_failed_alert

View File

@ -1193,8 +1193,9 @@ int _System __libsocket_sysctl(int* mib, u_int namelen, void *oldp, size_t *oldl
return std::vector<ip_route>();
}
int s = ::socket(AF_INET, SOCK_DGRAM, 0);
if (s < 0)
close(sock);
sock = ::socket(AF_INET, SOCK_DGRAM, 0);
if (sock < 0)
{
ec = error_code(errno, system_category());
return std::vector<ip_route>();
@ -1208,12 +1209,11 @@ int _System __libsocket_sysctl(int* mib, u_int namelen, void *oldp, size_t *oldl
for (; NLMSG_OK(nl_msg, len); nl_msg = NLMSG_NEXT(nl_msg, len))
{
ip_route r;
if (parse_route(s, nl_msg, &r)) ret.push_back(r);
if (parse_route(sock, nl_msg, &r)) ret.push_back(r);
}
#ifdef __clang__
#pragma clang diagnostic pop
#endif
::close(s);
::close(sock);
#endif

View File

@ -42,11 +42,11 @@ namespace libtorrent {
{
char const* p = input.data();
char const* end = input.data() + input.size();
for(;p != end; ++p)
for (;p != end; ++p)
{
char const* start = p;
// look for tag start
for(; p != end && *p != '<'; ++p);
for (; p != end && *p != '<'; ++p);
if (p != start)
{
@ -127,11 +127,11 @@ namespace libtorrent {
char const* val_start = nullptr;
// find start of attribute name
for (; i != tag_end && is_space(*i); ++i);
while (i != tag_end && is_space(*i)) ++i;
if (i == tag_end) break;
start = i;
// find end of attribute name
for (; i != tag_end && *i != '=' && !is_space(*i); ++i);
while (i != tag_end && *i != '=' && !is_space(*i)) ++i;
std::size_t const name_len = std::size_t(i - start);
// look for equality sign
@ -146,7 +146,7 @@ namespace libtorrent {
}
++i;
for (; i != tag_end && is_space(*i); ++i);
while (i != tag_end && is_space(*i)) ++i;
// check for parse error (values must be quoted)
if (i == tag_end || (*i != '\'' && *i != '\"'))
{

View File

@ -95,8 +95,9 @@ struct peer_server
~peer_server()
{
m_acceptor.cancel();
m_acceptor.close();
error_code ignore;
m_acceptor.cancel(ignore);
m_acceptor.close(ignore);
if (m_thread) m_thread->join();
}