Steven Siloti
86116caf4c
fix assert after a DHT get/put request
...
If an observer is abandoned due to there being more than 100 results in a
traversal then the traversal may complete while the observer is still
outstanding. When the observer times out or is aborted it calls
traversal_algorithm::failed() which asserts because m_invoke_count has been
cleared to zero by traversal_algorithm::done().
To fix this add a check when abandoning observers to see if they have an
outstanding query. If they do then flag them as done to prevent them from
calling back into the traversal and decrement the invoke count.
Fixes #271
2015-11-16 21:05:32 -08:00
Arvid Norberg
0dbe94616a
Merge pull request #269 from ssiloti/master
...
fix assert in dht::observer
2015-11-15 18:13:01 -05:00
Steven Siloti
ba1ccdec66
fix assert in dht::observer
...
This is was introduced by c2277b3ea5
"fix traversal_algorithm::done() being invoked more than once".
2015-11-14 18:30:42 -08:00
Arvid Norberg
64aba31e30
Merge pull request #263 from thomas-yuan/dead_loop_on_ios
...
Fix iOS dead loop issue.
2015-11-14 12:55:53 -05:00
Arvid Norberg
bdfed667e3
Merge pull request #267 from arvidn/storage-fix
...
fix support for incomplete reads/writes from disk
2015-11-14 12:54:57 -05:00
arvidn
15c6f0530f
update libsimulator
2015-11-14 09:11:24 -05:00
arvidn
c7a4eefd69
fixed typo
2015-11-14 02:22:35 -05:00
Thomas Yuan
b536cd4ab4
Fix iOS dead loop issue.
2015-11-14 00:53:39 -05:00
arvidn
fb2f2731cf
fix support for incomplete reads/writes from disk
2015-11-14 00:21:03 -05:00
Arvid Norberg
647a96eb8a
Merge pull request #264 from aldenml/cross-build
...
Fixed to make it more cross compile friendly
2015-11-13 23:28:55 -05:00
Alden Torres
611d0c1c6e
Fixed to make it compatible with mingw-w64 and generic linux
2015-11-13 07:55:28 -05:00
Arvid Norberg
d84cffd7e1
Merge pull request #265 from ssiloti/master
...
the simulator always supports IPv6
2015-11-13 00:02:13 -05:00
Steven Siloti
1bd706ac14
the simulator always supports IPv6
2015-11-12 20:52:30 -08:00
Arvid Norberg
ef1f399fd3
Merge pull request #259 from arvidn/deterministic-rand
...
use a consistent random number generator
2015-11-12 21:45:09 -05:00
Arvid Norberg
401f12b287
Merge pull request #260 from arvidn/ip-filter
...
fix IP filter bug when adding a torrent after setting the filter
2015-11-12 21:44:40 -05:00
arvidn
524cf00fcb
forward port of version change from RC_1_0
2015-11-12 21:35:50 -05:00
arvidn
aef449ad65
update changelog from RC_1_0
2015-11-12 21:28:50 -05:00
Arvid Norberg
aa30d64432
Merge pull request #255 from bit/mutable_python
...
fix mutable dht entries in python bindings
2015-11-12 20:23:28 -05:00
arvidn
d4d5f37222
fix typo
2015-11-12 01:42:44 -05:00
arvidn
2626159abe
use a consistent random number generator to make simulations deterministic
2015-11-12 00:21:56 -05:00
arvidn
8fa6863e15
fix IP filter bug when adding a torrent after setting the filter
2015-11-11 20:43:42 -05:00
Arvid Norberg
bae2b3394f
Merge pull request #258 from arvidn/version
...
forward-port version function from RC_1_0
2015-11-11 19:13:44 -05:00
Arvid Norberg
39f62fe3d9
Merge pull request #251 from arvidn/ipv6-fix
...
fix IPv6 tracker announce
2015-11-11 19:13:31 -05:00
arvidn
fbf152abc0
attribute external IP voting to the actual tracker IP we connected to, and preserve endpoint list in http_connection to make the re-announce to IPv6 logic robust
2015-11-11 01:30:28 -05:00
arvidn
d0dcf82612
fix bug in set_version and update version hash
2015-11-11 01:25:30 -05:00
arvidn
4c0b00c390
forward-port version function from RC_1_0
2015-11-11 00:57:51 -05:00
Arvid Norberg
4ebca897d9
Merge pull request #252 from ssiloti/traversal_multiple_dones
...
fix traversal_algorithm::done() being invoked more than once
2015-11-10 01:44:37 -05:00
Steven Siloti
08632aa5f7
add unit test to check for multiple calls to done()
2015-11-09 20:47:33 -08:00
Steven Siloti
c2277b3ea5
fix traversal_algorithm::done() being invoked more than once
...
A traversal can be done while there are still outstanding queries (i.e.
m_invoke_count is non-zero) if K good responses have already been received and
none of the outstanding queries are closer than the nodes which have responded.
When this happens and the outstanding queries eventually complete or timeout
they call traversal_algorithm::failed() or traversal_algorithm::finished() as
usual which will cause traversal_algorithm::done() to be called yet again.
The fix is to always set the done flag on all queried observers in
traversal_algorithm::done() so that the observers will refrain from calling
back into the traversal.
This also makes traversal_algorithm::abort() redundant since this was the only
thing it did before it called into done().
2015-11-09 20:47:33 -08:00
j
a16b8f374b
python bindings: fix dht_put/get_mutable_item
...
- accept strings for public/private keys,
its not possible to pass boost::arrarys
- sign data passed to dht_put_mutalbe_item
2015-11-09 04:49:49 +01:00
arvidn
0c435b42b2
add some more slack to one of the unit tests
2015-11-08 16:26:58 -05:00
j
d36122f252
expose dht put/get data in alerts
2015-11-08 19:06:07 +01:00
arvidn
4814855933
update cache_size docs and raise the cap for 32 bit builds
2015-11-08 10:49:38 -05:00
arvidn
74d12bd35b
update libsimulator
2015-11-07 22:50:51 -05:00
arvidn
9c10e99aef
forward port fix to not auto-detect disk cache size greater than the virtual address space for 32 bit builds
2015-11-07 22:00:20 -05:00
Arvid Norberg
61138630a3
Merge pull request #245 from arvidn/invalid-request
...
handle receiving an invalid request
2015-11-07 21:19:31 -05:00
arvidn
2592acfd8c
fix c++98 build
2015-11-07 21:14:52 -05:00
arvidn
a48cb785d0
forward port piece_block patch from RC_1_0
2015-11-07 18:50:54 -05:00
arvidn
a138b2daa9
handle receiving an invalid request
2015-11-07 14:58:08 -05:00
arvidn
06f702b21a
fix test_tracker build
2015-11-07 14:57:25 -05:00
arvidn
1fa184ba8a
fix msvc-10.0 build
2015-11-07 10:01:01 -05:00
arvidn
00090b8284
fix typo in test_checking, introduced by recent error_code in torrent_status patch
2015-11-07 01:01:07 -05:00
Arvid Norberg
ebdde0dfc8
Merge pull request #249 from arvidn/appveyor-fix
...
fix appveyor build
2015-11-07 00:44:40 -05:00
arvidn
ee7774ea37
fix appveyor build
2015-11-07 00:22:13 -05:00
arvidn
ced0f74bf8
minor moving around of code
2015-11-06 00:38:42 -05:00
Arvid Norberg
e6d7cb2d3f
Merge pull request #243 from arvidn/error_code-in-torrent_status
...
add error_code to torrent_status instead of error string
2015-11-05 21:09:29 -05:00
arvidn
e1719d503b
update libsimulator
2015-11-05 20:49:02 -05:00
arvidn
ebb9fdaf54
add error_code to torrent_status instead of error string
2015-11-05 20:43:23 -05:00
arvidn
4911a85761
updated Changelog
2015-11-02 23:47:46 -05:00
Arvid Norberg
cd358aa5a9
Merge pull request #242 from jpetso/master
...
Build fixes
2015-11-02 18:37:51 -05:00