Commit Graph

225 Commits

Author SHA1 Message Date
Denis Ryabov
43c84cae6c fix logic 2014-07-08 13:03:08 +04:00
Denis Ryabov
3b0294497b now it works 2014-07-08 12:54:36 +04:00
Miguel Freitas
92ea5ff97a merge upstream patch r8983 (merged mingw build fixes from RC_0_16) 2014-07-07 21:29:00 -03:00
Denis Ryabov
dc275c0b29 fix saving of dht item 2014-07-08 01:44:27 +04:00
Denis Ryabov
8429d95dba suggestion for DHT refresh 2014-07-08 01:37:34 +04:00
miguelfreitas
5f3bcf2d11 Merge pull request #232 from dryabov/master
faster DHT refresh
2014-07-06 19:15:00 -04:00
Denis Ryabov
6c4c656be4 faster DHT refresh 2014-07-05 16:13:41 +04:00
Miguel Freitas
2168e34677 miniupnp dependency removed, yes! :-) fix #130
libtorrent implements a upnp client: use it to map the other twisterd port.
2014-07-04 00:03:06 -03:00
Miguel Freitas
db62634635 return the peer list received from the tracker in dhtget 2014-07-01 21:44:43 -03:00
Miguel Freitas
5c203adea3 apply upstream fix by Arvid
http://sourceforge.net/p/libtorrent/code/10056/
2014-07-01 08:24:07 -03:00
Miguel Freitas
17641de17a Revert commit in order to apply the upstream fix.
Revert "don't rely on m_connection_ticket: if we have two "on_connect" in a row,"
This reverts commit 241291be70.
2014-07-01 07:59:47 -03:00
Miguel Freitas
241291be70 don't rely on m_connection_ticket: if we have two "on_connect" in a row,
without their "on_connected" in between, the shared variable doesn't work
since the first ticket is lost. the result is a pending timeout which is
never canceled (done called with -1) and libtorrent crashes.
2014-06-29 21:47:35 -03:00
Miguel Freitas
0385f0d875 this hack was wrong. lets fix it properly this time... 2014-06-29 21:43:22 -03:00
Miguel Freitas
068a43211a less verbose by default 2014-06-25 19:23:29 -03:00
Miguel Freitas
0bd6bc4807 remove deprecated putData function from libtorrent 2014-06-25 18:42:33 -03:00
Miguel Freitas
5af649a58a add consistency checks to node_impl::putDataSigned and a flag to mean that locally generated content should be kept for periodic refresh. 2014-06-25 17:47:44 -03:00
Miguel Freitas
7651134016 move dhtput signing to outside libtorrent.
old function (ses->dht_putData) is likely to be removed, i can't think of any use for it right now.
2014-06-25 16:28:50 -03:00
Miguel Freitas
3931001e9b fix getpost memory leak. fixes miguelfreitas/twister-html#161 2014-06-03 17:29:03 -03:00
Miguel Freitas
fdb08e9ca0 make debug.log less verbose by default 2014-04-11 18:26:39 -03:00
Miguel Freitas
2be53fe95a keep track of dht_storage_item which have been locally added.
for now this is used to make sure all kinds of resources (including rts and replies)
will have a forced refresh for at least two days.
2014-04-06 17:01:39 -03:00
Miguel Freitas
ad83ba061c store dhtput data locally so it will be refreshed like the other dht entries we maintain.
should help with missing DHT entries (issue #165), although i think #165 would benefit of a more agressive (faster) retrying of remote stores.
2014-04-05 23:59:44 -03:00
Miguel Freitas
6d128d1ac4 increase tolerance for possiblyNeighbor check to reduce occurence of putData "ignoring request" 2014-03-07 12:03:21 -03:00
Miguel Freitas
751e5c2530 don't check non-auto managed torrents against limits for now.
FIXME: another strategy is required as definitive fix.
2014-02-25 16:47:04 -03:00
Miguel Freitas
aa312dfc39 reduce the dht traffic load due to mostly useless tracker requests 2014-02-25 16:06:42 -03:00
Miguel Freitas
66ad21477d rotate torrents in automanaged mode. 2014-02-23 15:43:31 -03:00
Miguel Freitas
77d856916c allow DHT tracker to report untested peers in case we are short of "known good" ones (recently connected).
this change permit some peers from resume file to be reported right away, without waiting torrent to unpause.
2014-02-21 19:27:58 -03:00
Miguel Freitas
a542ad81e7 revert tracker dhtget patch of 0.9.16 and report number of peers received 2014-02-21 00:29:27 -03:00
Miguel Freitas
36cf59c705 prioritize trackers. announce to dht even if paused. another try to fix #159. 0.9.17. 2014-02-20 19:52:47 -03:00
Miguel Freitas
2d87266108 bugfix: properly accept tracker response even if followers==0. fix #159 2014-02-20 00:21:47 -03:00
Miguel Freitas
8543127654 getspamposts rpc 2014-02-16 15:27:06 -03:00
Miguel Freitas
672b56a865 experimental top trending hashtags 2014-02-15 20:41:54 -02:00
Miguel Freitas
1ff690e9a0 use the same proxy settings (like Tor socks5) for libtorrent as well. DHT still won't work. 2014-02-15 16:51:00 -02:00
Miguel Freitas
487138ebcb fix from upstream 2014-02-14 12:10:19 -02:00
Miguel Freitas
acbd61e93d optimization. should *greatly* reduce cpu usage. #136 2014-01-30 19:29:40 -02:00
Miguel Freitas
fa386c250d recheck piece just before sending to other torrent peer. fix #15. 2014-01-28 18:10:16 -02:00
Miguel Freitas
a9f53cce98 trying to reduce the occurrences of "INCOMING ERROR: height > getBestHeight" 2014-01-27 20:10:32 -02:00
Miguel Freitas
08cadbb78e enough of stack smashing segfault. openssl is required, period. fix #105. fix #97. fix #27. 2014-01-26 14:03:15 -02:00
Miguel Freitas
deb489d138 disable iconv in cygwin 2014-01-24 11:09:01 -02:00
Miguel Freitas
e3f7dfe811 apply patch from http://sourceforge.net/p/cygwin-ports/libtorrent-rasterbar/ci/master/tree/0.16.7-cygwin.patch 2014-01-24 10:39:35 -02:00
Miguel Freitas
85be748663 trying to improve torrent connectivity in the long run: relax peer banning.
don't preserve banned_list on startup. peers could have been banned due to changes in
block chain (invalid key or height). we shouldn't keep them banned forever.
somewhat related to #15.
2014-01-24 09:14:13 -02:00
Miguel Freitas
35fa3832e8 bugfix. this was a tough one. because the observer was already dequeued
from m_transactions, we need to properly terminate it in some way. usually
we go through the end of the function, where reply() does done(). however
there are some error cases where function may returns sooner. this might be
unlikely to occur in original upstream code (missing 'r' key, missing 'id'),
but with IP enforcing it is not so uncommon. hopefully this will fix #32.
2014-01-17 00:01:16 -02:00
miguelfreitas
0833369b69 Merge pull request #78 from toyg/fix_build_warnings
libtorrent printf call expects long int
2014-01-16 06:02:45 -08:00
toyg
4ec3817120 printf call expects long int 2014-01-16 01:36:26 +00:00
gubatron
5d582e92b6 merging last changes from original repository 2014-01-15 17:52:48 -05:00
gubatron
c0b9349afb revert changes on config.guess, the bootstrap script changed this file, perhaps shouldn't be in repo 2014-01-15 12:16:47 -05:00
gubatron
01b69ad102 added 2 missing brew dependencies that broke the bootstrap.sh script. 2014-01-15 11:29:36 -05:00
Miguel Freitas
25128d93dd refresh mention resource in dht 2014-01-15 14:00:39 -02:00
miguelfreitas
6328df818f Merge pull request #43 from toyg/libtorrent_build_warning_fix
Fixed warning for snprintf call
2014-01-08 03:09:25 -08:00
toyg
3e24404d7e Fixed warning for snprintf call 2014-01-08 09:34:35 +00:00
Adam Williamson
5d11289b4c fix some 'format not a string literal's 2014-01-07 19:41:51 -08:00
Miguel Freitas
8e80324c36 try to reduce the level of useless dht tracker requests by not announcing empty torrents we do not follow. 2014-01-06 21:59:40 -02:00
Miguel Freitas
8287b2b1e1 use a single database for all swarms of the same libtorrent session.
upgrade resume file to version 2 and enforce on loading (to force existing clients to download all pieces again).
fixes #24.
2014-01-06 15:10:32 -02:00
Miguel Freitas
8cae4d84de make --enable-debug default in libtorrent so it should compile out of the box (without extra flags) 2013-12-31 08:47:17 -02:00
Miguel Freitas
60db413630 less noisy 2013-12-30 12:14:03 -02:00
Miguel Freitas
5fcf9b452a Merge 2013-12-30 11:03:39 -02:00
Miguel Freitas
2dd4c62b0e increase active downloads. tests needed. 2013-12-24 16:58:10 -02:00
Miguel Freitas
1ae5745151 another we_dont_have() due to disk read error.
the idea is to help recovering faster from db corruption problems.
2013-12-12 19:07:50 -02:00
Miguel Freitas
8328c7222f use we_dont_have to recover from corrupt swarm database.
eventually we will download the pieces again (it works)
2013-12-11 22:17:42 -02:00
Miguel Freitas
ca1eb9f3c2 update "interesting" upon receiving bitfield 2013-12-08 16:34:56 -02:00
Miguel Freitas
8dbae988ec dont expire dht items if block chain is invalid 2013-12-03 18:35:28 -02:00
Miguel Freitas
bcc7ee4747 increase dht upload rate.
explains some avatars not being served on timeline updates. client really needs to start caching this.
2013-12-01 22:45:22 -02:00
Miguel Freitas
aa422d9b4e increase number of active torrents 2013-11-30 18:49:13 -02:00
Miguel Freitas
9aec1f6c73 libtorrent fix from upstream 2013-11-25 23:22:59 -02:00
Miguel Freitas
77cfe2cd6c libtorrent fix: should prevent the infinite sequence of auto manager triggering 2013-11-23 12:38:50 -02:00
Miguel Freitas
80f389239b too strict assert causes twisterd to abort when network goes down 2013-11-08 18:30:45 -02:00
Miguel Freitas
c3bea0a3dd If bitcoin network goes down, pause libtorrent to prevent pieces being falsely rejected because height > bestHeight.
Also, if bitcoin network is down, try to add nodes from DHT bucket tables back to the bitcoin network.
2013-11-07 15:06:06 -02:00
Miguel Freitas
5b71538165 Merge 2013-11-06 11:54:12 -02:00
Miguel Freitas
54dc49c191 enable expiration of dht items 2013-11-06 11:53:48 -02:00
Miguel Freitas
a654c48153 one more assert to complement previous commit 2013-11-06 11:53:16 -02:00
Miguel Freitas
d8b8ff4b4f trying to fix/understand assertion failure
version: 1.0.0.0
$Rev: 7680 $
file: 'peer_connection.cpp'
line: 5715
function: void libtorrent::peer_connection::check_invariant() const
expression: m_outstanding_bytes >= 0
2013-11-06 11:50:01 -02:00
Miguel Freitas
2c256b6edb implement piece verification using old signatures. now i can reenable banning peers due to bad pieces. 2013-11-06 09:22:05 -02:00
Miguel Freitas
8ec4b3e16e i can't get this conversion from time_duration to string right. i give up. 2013-11-06 09:21:01 -02:00
Miguel Freitas
b7fb1f3d3c strange android/boost compilation fix 2013-11-05 23:25:47 -02:00
Miguel Freitas
658ed6054a export number of known torrent peers (list_peers) to the dht tracker resource and use it
as estimative to the number of followers. at least we get the number of *online* followers.
2013-11-05 22:54:53 -02:00
Miguel Freitas
cd4147d772 increase refresh_storage sleep when zero refreshable items 2013-11-05 14:07:58 -02:00
Miguel Freitas
1838558305 Merge 2013-11-04 21:05:12 -02:00
Miguel Freitas
a4695ba9e1 delay libtorrent initialization until we have valid blocks 2013-11-04 19:55:59 -02:00
Miguel Freitas
80f23d56e8 change "values" to "data" in getData to differentiate from tracker values (which are not authenticated/signed) 2013-11-04 16:19:43 -02:00
Miguel Freitas
5a9613297a dht storage refresh is spread over time to avoid bursts of putData 2013-11-04 15:56:29 -02:00
Miguel Freitas
7e1468299b Merge branch 'master' of /home/miguel/softs/twister 2013-11-02 12:35:58 -02:00
Miguel Freitas
549ba353dd yet another ThreadMaintainDHTNodes heuristic improvement 2013-10-29 10:48:06 -02:00
Miguel Freitas
2cd0b0a881 rescandirectmsgs: rescan all streams of users we follow for new and old directmessages 2013-10-28 22:59:43 -02:00
Miguel Freitas
c9e2b88920 try another improvement to local dht tracker updating: currently connected nodes or recently connected (4 hours) 2013-10-28 19:42:36 -02:00
Miguel Freitas
624b5f8b49 improved debugging of get/put dht keys 2013-10-28 19:03:10 -02:00
Miguel Freitas
d363d2f788 remove unneeded optimization: m_data_callback is called multiple times (for every reply) so asking ourselves doesn't hurt.
this might fix the assertion which is failing on observer destructor.
2013-10-28 19:01:13 -02:00
Miguel Freitas
40803b910c improve last commit: only announce to local dht tracker if we ever connected to peer. 2013-10-28 18:58:29 -02:00
Miguel Freitas
ac76c967ae do not add peers with high failcount to the local dht tracker 2013-10-28 18:05:13 -02:00
Miguel Freitas
699d7a0802 Merge branch 'master' of /home/miguel/softs/twister 2013-10-26 17:59:26 -02:00
Miguel Freitas
c0ec1f4afe Until old public key is properly used, disable banning torrent peers due to bad piece hashes.
+note: torrent.cpp line 3286 (function piece_failed), iteration to ban peers is disabled (continue)
2013-10-26 00:43:32 -02:00
Miguel Freitas
543898da85 Merge branch 'master' of ssh://pitanga//home/miguel/softs/twister 2013-10-22 21:12:15 -02:00
Miguel Freitas
0150dd2f7b support to disable loading/refreshing of expired dht keys 2013-10-22 18:32:04 -02:00
Miguel Freitas
a19c4f231f return false when packet not sent to ourselves 2013-10-20 14:02:19 -02:00
Miguel Freitas
15d7fd07b0 android compiling 2013-10-19 10:31:43 -03:00
Miguel Freitas
7e1726ba8c implement expiring dht items (but it is not enabled yet) 2013-10-18 12:08:54 -03:00
Miguel Freitas
9783b971fb almost compiling on android. linker error. 2013-10-16 08:09:35 -03:00
Miguel Freitas
b7aac66551 android fixes 2013-10-15 23:21:08 -03:00
Miguel Freitas
52a3ecda88 fix compilation error (m_sent_bitfield) without libtorrent debug 2013-10-15 22:04:55 -03:00
Miguel Freitas
19f5c3cc0e -1 is not used anymore for max_id since it breaks "geting up to post 0" 2013-10-13 18:05:56 -03:00
Miguel Freitas
e80acded1f prevent asking our own tracker in dht (untested) 2013-10-12 17:26:06 -03:00
Miguel Freitas
f39df114d1 increase dht flood protection to 1000 packets / 5 sec.
which threshold is good remains to be decided, for now i just don't want
an additional source of problems (banning legit peers).
2013-10-11 10:46:49 -03:00