Commit Graph

171 Commits

Author SHA1 Message Date
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
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
73c4a88516 remove "unfinished" entry of resume file. it makes no sense when pieces per block = 1 2013-10-10 19:30:07 -03:00
Miguel Freitas
38def2e03c minor fix to avoid confusion: seq is not k 2013-10-08 15:48:08 -03:00
Miguel Freitas
47292c424e Merge branch 'master' of ssh://pitanga//home/miguel/softs/twister 2013-10-07 21:33:23 -03:00
Miguel Freitas
b4322a61bc persist dht keys to disk 2013-10-07 17:31:00 -03:00
Miguel Freitas
cb7f080b75 less noisy. disable some dht announce and already connected messages 2013-10-06 23:02:30 -03:00
Miguel Freitas
7a72e63372 fix problem with dhtput > 2kb (for avatar) 2013-10-05 21:59:00 -03:00
Miguel Freitas
878061317e leveldb repair for torrents 2013-10-02 20:03:32 -03:00
Miguel Freitas
d1ec27e01a dont trust getBestHeight == 0 2013-10-01 17:54:39 -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
cbb5a524ce is_unspecified() is not always available. never mind. 2013-09-19 16:42:31 -03:00
Miguel Freitas
98903d5a73 keep track of last "have" for each torrent 2013-09-18 08:47:26 -03:00
Miguel Freitas
55ca248925 disable torrent protocol debug 2013-09-18 08:04:24 -03:00
Miguel Freitas
4cd345bf62 // validate with smaller size to account uncertanty in network received bitfield 2013-09-17 07:27:59 -03:00
Miguel Freitas
cefb94e321 allow bitfield with different number of pieces 2013-09-17 07:24:27 -03:00
Miguel Freitas
b0d68b346e disable smartban - no sense with single block pieces 2013-09-17 07:22:59 -03:00
miguel
ef084487f4 fix torrent/swarm path and add resume file 2013-09-03 07:08:07 -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
f422868103 implement sending message to mention, hashtags, repliesXX and postXX 2013-08-30 14:01:57 -03:00
miguel
b9c5b90e4d error handling in newpostmsg and newdirectmsg implemented 2013-08-20 21:08:18 -03:00
miguel
931c484c26 post propagation via torrent working! 2013-08-20 19:09:28 -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
cc2588ae41 refactoring acceptSignedPost 2013-08-18 20:33:54 -03:00
miguel
e4a943c745 some crash fixes, disable ut_metadata, fix m_name 2013-08-18 17:23:17 -03:00
miguel
33d44cf473 fix cast 2013-08-18 14:55:47 -03:00
miguel
bfc461a2dc use leveldb for read/write of pieces 2013-08-18 14:44:49 -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
15d8e3397c more consistency checks of userpost 2013-08-18 10:51:46 -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
7af7927f5d some more debuging to make sure new dht announce x torrent peers is working 2013-08-11 21:45:45 -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
d149565509 avoid adding ourselves to torrent peers 2013-08-11 20:40:45 -03:00
Miguel Freitas
d1071c30f9 completely disable log file creation 2013-08-11 20:39:38 -03:00
Miguel Freitas
24fd6a6a8a start torrent automatically for neighbor of tracker 2013-08-11 19:45:29 -03:00
Miguel Freitas
c81308b2a2 redirect log to bitcoin/util.h printf 2013-08-11 14:40:43 -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
07749a22e2 improve getData reply debug message 2013-08-08 14:32:59 -03:00
Miguel Freitas
2aa71205d4 possiblyNeighbor is authoritative for false, so we may trust it to NOT store putData value.
someone might be trying to attack this resource by storing value into non-final nodes.
2013-08-08 13:55:45 -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
621812c69e improve parameter checking in dhtput 2013-08-06 18:26:53 -03:00
Miguel Freitas
9c52adbe25 compare contents (v) before adding multi valued key 2013-08-06 00:08:10 -03:00
Miguel Freitas
830a02c009 dht get/put kind of working. with json interface. amazing. 2013-08-05 22:33:38 -03:00
Miguel Freitas
36e2230b58 exporting get/put dht data to upper levels. completely untested. 2013-08-04 22:10:07 -03:00
Miguel Freitas
e46256a2f5 separate getData and putData 2013-08-04 21:16:09 -03:00