Commit Graph

59 Commits

Author SHA1 Message Date
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
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
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
acbd61e93d optimization. should *greatly* reduce cpu usage. #136 2014-01-30 19:29:40 -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
25128d93dd refresh mention resource in dht 2014-01-15 14:00:39 -02: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
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
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
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
1838558305 Merge 2013-11-04 21:05:12 -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
2cd0b0a881 rescandirectmsgs: rescan all streams of users we follow for new and old directmessages 2013-10-28 22:59:43 -02:00
Miguel Freitas
699d7a0802 Merge branch 'master' of /home/miguel/softs/twister 2013-10-26 17:59:26 -02:00
Miguel Freitas
7e1726ba8c implement expiring dht items (but it is not enabled yet) 2013-10-18 12:08:54 -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
34024136ae tweaks. increase m_desired_queue_size, maybe 2 is too low due to rounding
number of pieces to the nearest multiple of 8. not sure.
2013-10-10 23:19:30 -03:00
Miguel Freitas
b4322a61bc persist dht keys to disk 2013-10-07 17:31:00 -03:00
Miguel Freitas
dc3b1b2c47 keep track of rt and dm messages and filter dm from get_pieces (getposts rpc) 2013-09-21 16:18:56 -03:00
Miguel Freitas
5e68d4e2ae new getposts rpc 2013-09-20 18:59:31 -03:00
Miguel Freitas
98903d5a73 keep track of last "have" for each torrent 2013-09-18 08:47:26 -03:00
miguel
1bae0176f5 implement refreshing dht storage every hour 2013-08-30 20:25:23 -03:00
miguel
f01cca3d48 logic to refresh dht storage (only single itens). only printf for now. 2013-08-30 17:43:52 -03:00
miguel
5112e73a07 newpostmsg command, working. 2013-08-20 12:18:03 -03:00
miguel
4f51727c1b use bitcoin network time reference, dm creation draft 2013-08-18 22:01:36 -03:00
miguel
e4a943c745 some crash fixes, disable ut_metadata, fix m_name 2013-08-18 17:23:17 -03:00
miguel
0b69a1c5f3 remove file access from storage 2013-08-18 14:43:30 -03:00
miguel
ef6baf79fd replace the other partial hash with the piece signature checking 2013-08-18 13:32:44 -03:00
miguel
2feb58f473 remove slot-piece mapping of deprecated compact storage 2013-08-18 12:20:58 -03:00
miguel
6fb557e33c more untested stuff: try to preserve piece_size when reading from disk.
first signature checking instead of hash.
2013-08-18 09:53:35 -03:00
miguel
6b9c27048e partial untested torrent chages. will use leveldb for storage, no more multi-files per torrent, number of pieces may increase. 2013-08-17 20:12:44 -03:00
Miguel Freitas
4513fee3e5 use the right torrent port from the start, not need to change it later 2013-08-11 20:41:47 -03:00
Miguel Freitas
d1071c30f9 completely disable log file creation 2013-08-11 20:39:38 -03:00
Miguel Freitas
662c5fa833 big announce / getPeers change
1) getPeers is obsolete, peers are obtained from getData with r="tracker", t="m"
2) announce api of node.cpp is used to update our own memory table (of the tracker)
3) announce api of node.cpp only do getDate/announce to the network if peer is the local one
4) announcement rpc (to the network) might be removed in future (not sure)
2013-08-09 21:34:00 -03:00
Miguel Freitas
6af8185112 remove mutable/imutable stuff 2013-08-09 17:11:59 -03:00
Miguel Freitas
425c355b72 maintain list of multivalued dht items ordered (newer first) by height. discard the last when size exceeds. 2013-08-09 15:27:01 -03:00
Miguel Freitas
4154a37a14 add support to detect when our node is neighbor of a special resource (eg. torrent tracker) 2013-08-07 23:17:09 -03:00
Miguel Freitas
a35cdef738 dht_reply_data_done_alert to unlock client waiting for data 2013-08-07 22:47:34 -03:00
Miguel Freitas
dea237d2ed implement dht_get_data_alert to detect when we are neighbor of a certain request 2013-08-07 17:40:16 -03:00
Miguel Freitas
9c52adbe25 compare contents (v) before adding multi valued key 2013-08-06 00:08:10 -03:00