71 Commits

Author SHA1 Message Date
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
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
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
acbd61e93d optimization. should *greatly* reduce cpu usage. #136 2014-01-30 19:29:40 -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
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
toyg
4ec3817120 printf call expects long int 2014-01-16 01:36:26 +00:00
Miguel Freitas
25128d93dd refresh mention resource in dht 2014-01-15 14:00:39 -02:00
Miguel Freitas
60db413630 less noisy 2013-12-30 12:14:03 -02:00
Miguel Freitas
8dbae988ec dont expire dht items if block chain is invalid 2013-12-03 18:35:28 -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
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
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
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
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
7e1726ba8c implement expiring dht items (but it is not enabled yet) 2013-10-18 12:08:54 -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
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
d1ec27e01a dont trust getBestHeight == 0 2013-10-01 17:54:39 -03:00
Miguel Freitas
cbb5a524ce is_unspecified() is not always available. never mind. 2013-09-19 16:42:31 -03:00
Miguel Freitas
cefb94e321 allow bitfield with different number of pieces 2013-09-17 07:24:27 -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
4f51727c1b use bitcoin network time reference, dm creation draft 2013-08-18 22:01:36 -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
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