Commit Graph

103 Commits

Author SHA1 Message Date
Miguel Freitas
7bc233c1a7 fix compilation for android which uses boost::posix_time::ptime (TORRENT_USE_BOOST_DATE_TIME) 2014-12-06 11:17:47 -02:00
Miguel Freitas
b8e264f4d1 0.9.28: better enforcement of DHT upload rate limit for non-locally generated requests.
the limit applies to: DHT replies, refreshes of stored items, checking for status/tracker and proxy server.
local requests (eg. dhtgets from the UI) are excluded from this limit, so user experience is not affected.
in other words: we limit only the band contributed back to twister network for maintenance tasks.

this should improve resilience against some sorts of denial-of-service attacks and also
prevents saturating the uplink as observed recently.
2014-12-04 16:45:43 -02:00
Miguel Freitas
4d43c08a5b ignore far-future message in getposts 2014-09-21 11:35:52 -03:00
Miguel Freitas
a7e9b67e37 don't accept DHT posts with time in far-future.
(timeline still need to be fixed though)
2014-09-21 11:10:59 -03:00
Denis Ryabov
701d84e7f8 increase allowed size of putData request (size of 140-characters UTF-8 message may be up to 140*4=560 bytes) 2014-08-28 23:07:37 +04:00
Miguel Freitas
c7e35d86a2 dont assume the DHT item storage is confirmed just because we got some results back,
compare the contents instead. should improve reliability of mentions.
2014-08-18 19:37:32 -03:00
Miguel Freitas
3b0633fad4 global dht traffic seems too high: implement probabilistic refresh for users that post too much.
this should reduce the traffic for now but me may want to tweak these settings later.
the most recent posts are priorized regardless of how much the user posts.
2014-07-19 12:38:04 -03:00
Miguel Freitas
17207a8064 move refresh period settings to a single place and add some notes about it. 2014-07-17 11:10:33 -03:00
Denis Ryabov
2e17020e46 Merge branch 'master' of git://github.com/miguelfreitas/twister-core into dht_refresh_1
Conflicts:
	libtorrent/include/libtorrent/ptime.hpp
2014-07-17 16:27:47 +04:00
Miguel Freitas
7240fee4e9 update time.cpp/ptime from upstream (r10083) trying to fix non-monotonic time issues with win32.
still one assert from disk_io_thread must be commented out to avoid aborting.
2014-07-14 22:20:33 -03:00
Denis Ryabov
ccf6634d41 less aggresive dht refresh 2014-07-08 23:11:05 +04:00
Denis Ryabov
79be353eed remove refresh_per_tick_limit based logic in flavour of 100ms delay 2014-07-08 21:22:49 +04:00
Denis Ryabov
dc7c4e5627 fix store/load confirmed field 2014-07-08 18:28:47 +04:00
Denis Ryabov
683f55f8d2 confirmation for local items only 2014-07-08 17:01:53 +04:00
Denis Ryabov
785d05f10c simpler expression for random diffusion 2014-07-08 15:19:56 +04:00
Denis Ryabov
847659f7dd update refresh time on confirm 2014-07-08 15:18:22 +04:00
Denis Ryabov
601e0422e4 prevent flow of unconfirmed requests after twister start 2014-07-08 15:01:48 +04:00
Denis Ryabov
1945adaddf check for empty response 2014-07-08 15:00:58 +04:00
Denis Ryabov
066435719d limit refreshes per tick to refresh_per_tick_limit=20, fix boost::ref(item) 2014-07-08 13:56:42 +04:00
Denis Ryabov
61b057175f wait 1 minute before start refreshing 2014-07-08 13:16:30 +04:00
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
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
Denis Ryabov
6c4c656be4 faster DHT refresh 2014-07-05 16:13:41 +04:00
Miguel Freitas
db62634635 return the peer list received from the tracker in dhtget 2014-07-01 21:44:43 -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
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
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