81 Commits

Author SHA1 Message Date
Miguel Freitas
33a4e14941 sync lazy_bdecode to 0.16 branch before applying security fix 2015-10-18 19:38:36 -02:00
Miguel Freitas
2668b4d832 keep track of torrent location (n,k) for direct messages as well.
this way we may check for piece delivery to the network.
2015-05-31 09:06:42 -03:00
Miguel Freitas
1056d874bf introducing a new torrent piece property to be persisted on disk: max_seen
is the maximum availability (peer count) ever seen for this piece.
new rpc getpiecemaxseen.
2015-05-30 20:49:13 -03:00
erqan
5fa729fc47 adding new methods for public and private favorites 2015-05-04 16:03:00 +03:00
Miguel Freitas
57b554f7cf add another flag field to getposts to allow selecting only DMs or RTs.
hint: to get (encrypted) DM posts use values "2 2"
2015-04-19 17:30:41 -03:00
Miguel Freitas
a977b88895 update ip_voter from upstream to get this nice maybe_rotate method.
now the new ip can finally gain over a well voted old ip.
2015-04-09 23:38:04 -03:00
Miguel Freitas
04384df7c4 report the two local/external addresses we know about (which should be the same)
in 'getinfo' rpc. i believe this should help debugging dht connectivity problems
when we change networks, or router gets a new ip etc.
2015-04-08 22:24:56 -03:00
Bernard Spil
cacca0a56c Fix build with LibreSSL
LibreSSL includes work slightly different, need to  specifically rand.h was not included making build fail where RAND_add is used
2015-03-29 21:49:05 +02:00
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
Denis Ryabov
ab48764e38 add search method 2014-08-27 01:03:37 +04: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
Denis Ryabov
f08567e650 unify style 2014-07-17 16:31:37 +04: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
79be353eed remove refresh_per_tick_limit based logic in flavour of 100ms delay 2014-07-08 21:22:49 +04:00
Denis Ryabov
683f55f8d2 confirmation for local items only 2014-07-08 17:01:53 +04:00
Denis Ryabov
3b0294497b now it works 2014-07-08 12:54:36 +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
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 241291be70908394deff90758b90e86d32ab0004.
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