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
Miguel Freitas
ed718aa283
draft of putData api to the dht network
2013-08-04 21:06:42 -03:00
Miguel Freitas
6a1d35a582
adjust dht stored obj size, print dht get results in test_dht
2013-08-04 18:53:43 -03:00
Miguel Freitas
4c92f24620
fixes to dht server and test_dht
2013-08-04 18:26:45 -03:00
Miguel Freitas
63a3d94843
fix test_dht.cpp
2013-08-04 16:34:17 -03:00
Miguel Freitas
0484b9b6d2
implement single put seq increasing verification. untested as well.
2013-08-04 16:23:55 -03:00
Miguel Freitas
8b3368da1f
draft for dht putdata
2013-08-04 16:16:36 -03:00
Miguel Freitas
8b6edd3c79
draft of dht get implementation (untested)
2013-08-04 12:58:50 -03:00
Miguel Freitas
2bd0f7de12
first draft of transversal algo to get data from dht
2013-08-04 00:17:52 -03:00
Miguel Freitas
71e0da6705
initialize libtorrent session with external ip set
2013-08-01 17:05:37 -03:00
Miguel Freitas
8f196639ae
just comments
2013-07-31 09:04:46 -03:00
Miguel Freitas
a28de30fce
id(ip) is now enforced
2013-07-30 19:08:55 -03:00
Miguel Freitas
d96f8814d3
undo reordering change that broke compilation
2013-07-29 21:12:19 -03:00
Miguel Freitas
07e0f50945
change bittorrent protocol string
2013-07-29 19:23:10 -03:00
Miguel Freitas
b59f3749a1
enforce ID x external IP verification
2013-07-29 15:46:59 -03:00