Commit Graph

3155 Commits

Author SHA1 Message Date
Miguel Freitas
d4b1c9b569 check HAVE_BOOST_LOCALE and fix compilation when boost-locale is not available 2014-04-11 18:03:24 -03:00
Denis Ryabov
12f74e2bbc Merge branch 'master' of git://github.com/miguelfreitas/twister-core
Conflicts:
	Makefile.am
2014-04-10 18:30:13 +04:00
miguelfreitas
6d1e5a40b1 Merge pull request #183 from digital-dreamer/public-server
Public server mode
2014-04-08 10:18:46 -03:00
digital dreamer
b1ace5cc69 add public server mode 2014-04-07 12:45:51 +02:00
Miguel Freitas
03b1371190 use DB_CXX_HEADER. fix #114 2014-04-06 20:25:49 -03:00
Miguel Freitas
03d037c197 truncate file when saving settings 2014-04-06 17:00:42 -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
4509ff7e3f fix crash reported by ankostis 2014-04-01 22:23:24 -03:00
Denis Ryabov
671bec8e78 an attempt to fix issue #111 2014-03-17 23:23:53 +04:00
Denis Ryabov
21b0daf7f8 Content-Type for .mp3 and .ogg files (used in Calm theme) 2014-03-13 15:40:56 +04:00
Denis Ryabov
3d9c89889f Correct Content-Type header for gif images 2014-03-13 15:16:57 +04:00
Miguel Freitas
4c561ceb74 make sure torrent is unpaused if added/followed later on 2014-03-01 10:05:30 -03:00
Miguel Freitas
adc9e82f3a 0.9.19 2014-02-26 08:08:48 -03:00
Miguel Freitas
c17ccd5f66 more connections. less memory per connection. 2014-02-25 19:12:22 -03:00
Miguel Freitas
cb9e637ac6 don't auto-manage the torrents we follow 2014-02-25 08:37:32 -03:00
Miguel Freitas
4e701dd7a4 prevent explosion of status checks. this traffic has increased a lot since we fixed tracker issues. 2014-02-24 11:25:36 -03:00
Miguel Freitas
34a31e327a 0.9.18 2014-02-23 15:44:50 -03:00
Miguel Freitas
8b69da2bf4 torrentstatus rpc 2014-02-22 12:30:40 -03:00
Miguel Freitas
36cf59c705 prioritize trackers. announce to dht even if paused. another try to fix #159. 0.9.17. 2014-02-20 19:52:47 -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
074fb5b2d0 0.9.15 to mark getspamposts is available 2014-02-17 23:18:29 -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
d1a17dc21f add timeout parameters to dhtget allowing to wait more to collect multiple replies 2014-02-15 17:16:23 -02:00
Miguel Freitas
1ff690e9a0 use the same proxy settings (like Tor socks5) for libtorrent as well. DHT still won't work. 2014-02-15 16:51:00 -02:00
Miguel Freitas
18493205fc make soft checkpoint less verbose 2014-02-14 17:43:44 -02:00
Miguel Freitas
555e711b09 update hard/soft checkpoints 2014-02-14 16:56:42 -02:00
Miguel Freitas
fcae131b7f 0.9.13 2014-01-30 20:55:52 -02:00
Miguel Freitas
e22eb1747d update client version again. openssl fix is fairly important as well, better make sure people will get it. 2014-01-28 23:27:07 -02:00
Miguel Freitas
7f9bd14f1f openssl's thread id callback is needed for stable operation.
intermittent block hash validation errors seen otherwise, most likely due to libtorrent hasher using openssl lib from another thread.
2014-01-28 22:45:58 -02:00
Miguel Freitas
43e57ad05f 0.9.11 2014-01-28 18:11:17 -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
2aa2b7b3a3 should fix mapNewBlock variable that commented out last year. 2014-01-27 16:15:43 -02:00
Miguel Freitas
0b906f2494 delay torrent initialization 2014-01-26 15:12:10 -02:00
Miguel Freitas
284021ed7e new dns seeder. thanks gombadi! 2014-01-26 13:58:50 -02:00
Miguel Freitas
128c0a506b less noisy debug.log using html ui 2014-01-25 12:57:35 -02:00
Miguel Freitas
a884c002ce 0.9.9 now compiles under cygwin! 2014-01-25 12:55:04 -02:00
Miguel Freitas
34936903fc PRIO_MAX is not defined in cygwin, why? 2014-01-24 20:30:11 -02:00
Miguel Freitas
8c43acf256 update voting usernames 2014-01-24 18:55:31 -02:00
Miguel Freitas
440525ebaa apply leveldb cygwin patch from http://code.google.com/p/leveldb/issues/detail?id=188 2014-01-24 10:12:07 -02:00
Miguel Freitas
1e1a23b5d8 fix GetNextInMainChain (thanks Pieter Wuille for suggesting this) 2014-01-23 19:25:08 -02:00
Miguel Freitas
85fa3d4b9a checkpoints + soft checkpoint update 2014-01-21 21:27:09 -02:00
Miguel Freitas
102d172ca3 highly experimental soft checkpoint based on consensus 2014-01-19 22:25:22 -02:00
Miguel Freitas
1df2b24f90 0.9.7 2014-01-19 01:00:24 -02:00
Miguel Freitas
6416fa5d58 another try to fix the infinite recursion triggered when the new (longer) chain
contains an invalid transaction (due to older, buggy, twisterd or attacker).
i'm not entirely convinced that original bitcoin couldn't be attacked the same
way (51% is still needed, but crashing the client is pretty bad).
2014-01-19 00:53:15 -02:00
Miguel Freitas
19ff320d24 replace HaveTxIndex for GetTransaction. this is a more secure check since it also
verifies if tx is part of current main chain. old test may cause problems for people
trying to reregister their usernames in case of reversal attack since nodes might incorrectly
refuse to accept/retransmit the new transaction.
2014-01-18 20:36:18 -02:00
Miguel Freitas
defb9ef6a9 First try to add proper autotools build system 2014-01-17 16:36:06 -02:00
toyg
0ada1bda54 fixes #56 2014-01-17 01:21:01 +00:00
Miguel Freitas
d19fef0028 nothing interesting, just checkpointing + warning fix 2014-01-16 14:43:37 -02:00
gubatron
5d582e92b6 merging last changes from original repository 2014-01-15 17:52:48 -05:00
gubatron
613a312f65 silenced unused variable warnings. 2014-01-15 12:54:17 -05:00
miguelfreitas
194d17cd46 Merge pull request #71 from s9h869e5k5/fix-valgrind-warnings
Avoid valgrind warning.
2014-01-15 08:29:04 -08:00
Miguel Freitas
25128d93dd refresh mention resource in dht 2014-01-15 14:00:39 -02:00
Miguel Freitas
8631460293 reduce MIN_CORE_FILEDESCRIPTORS again, now that we have a single leveldb for all torrents.
MIN_CORE_FILEDESCRIPTORS can't be much higher because it will limit nMaxConnections.
2014-01-15 08:47:05 -02:00
Jö Fahlke
3f4cc4535d Explicitly initialize members of fundamental types; avoids "jump depends on
uninitialized value"-warnings by valgrind.
2014-01-15 03:30:25 +00:00
Miguel Freitas
1e577bfdfb missing function. thanks jpfox 2014-01-13 19:11:12 -02:00
Miguel Freitas
f3b9fc3148 validate post to promote. fix #34 2014-01-13 18:06:38 -02:00
Miguel Freitas
09625b2212 Join multiple dhtget responses. fix #14 2014-01-13 17:30:29 -02:00
Miguel Freitas
d30a86a538 rpcallowip is important 2014-01-13 15:01:41 -02:00
Miguel Freitas
4c25acc6af partialy revert changeset 77d1a4fb. fixed one case (that -reindex would fix anyway) but broke another one. 2014-01-13 09:40:18 -02:00
Miguel Freitas
055240b2a9 fix "CreateNewBlock() : ConnectBlock failed" due to "duplicate username".
improve transaction collect in CreateNewBlock
2014-01-13 09:16:04 -02:00
Miguel Freitas
bf3ec900d0 some nodes are still on the wrong chain (block 18973 with an invalid spamuser). checkpoint the
correct branch to force them to go to the right chain.
2014-01-13 08:03:43 -02:00
Miguel Freitas
e0dad4a114 update version 2014-01-12 23:55:55 -02:00
Miguel Freitas
77d1a4fb7b trying to fix infinite recursion in SetBestChain 2014-01-12 23:44:33 -02:00
Miguel Freitas
ba43f10e8f move spamuser key validation from CheckTransation to ConnectBlock.
reason: this is not context-independent validation.
2014-01-12 20:41:58 -02:00
Miguel Freitas
fbc7d9a77a generalize checking if tx is in mainchain for GetTransaction 2014-01-12 19:29:33 -02:00
miguelfreitas
7e5c85279a Merge pull request #49 from toyg/osx_makefile_backport
osx makefile backport of be34510
2014-01-10 12:33:04 -08:00
Miguel Freitas
9d5d203a0c bugfix: weak checking for existing users (the transaction may exist in index only
but the chain it belongs was invalidated) caused fork between users who erased their
block database from yesterday and those who didn't. improve the checking (test
if tx is actually in main chain). add another checkpoint. enforce.
2014-01-10 17:36:23 -02:00
Miguel Freitas
9f9bb58635 disable safemode & add checkpoint 2014-01-10 16:04:52 -02:00
toyg
43ac45c925 osx makefile backporting of commit be34510a9a 2014-01-10 02:52:04 +00:00
Miguel Freitas
be34510a9a When passing CC or CXX down to sub-makes, add quotes around it so that
blanks (say, CC=ccache distcc gcc -m64) don't mess things up.
2014-01-09 22:48:58 -02:00
Miguel Freitas
58d905aab3 change max block size as well 2014-01-09 21:50:28 -02:00
Miguel Freitas
394333a8bb increase the number of blocks to check at startup to force people to move to the right chain. 2014-01-09 15:03:50 -02:00
Miguel Freitas
6b01734ccf fix segfault in dhtget when ses is NULL (http://pastebin.com/rcJQm48W) 2014-01-09 14:48:42 -02:00
Miguel Freitas
23cb6fbdb6 limit transaction size 2014-01-09 12:21:58 -02:00
Miguel Freitas
5ab658ae3d enforce bencoded size. sanity check. 2014-01-07 16:51:40 -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
miguelfreitas
4eab7e4d81 Merge pull request #38 from toyg/usermessages
Replaced references to bitcoin/bitcoind in user-visible messages
2014-01-06 10:04:56 -08: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
toyg
ce787d6cd3 Replaced references to bitcoin/bitcoind in user-visible messages 2014-01-06 15:53:54 +00:00
Stefan Sayer
28975dd0d2 makefile: libtorrent needs -lrt for linking 2014-01-03 01:32:37 +01:00
toyg
83dcd048bb fixes to compile and run under OSX 10.9.1 2014-01-02 23:10:57 +00:00
toyg
65dfbef547 now compiling and running on OSX. old makefile.osx from bitcoin is still around in case we need to merge back some stuff. 2014-01-02 23:07:22 +00:00
Miguel Freitas
5462a3bf0b increase number of file descriptors as discussed in #24
the original value was ok for bitcoin only but now we also need fd's for libtorrent.
2014-01-02 14:21:12 -02:00
Miguel Freitas
6708cec239 report dht_global_nodes in getinfo 2013-12-31 09:46:19 -02:00
Miguel Freitas
342d3e1478 just learned that scrypt is too slow for CBlockTreeDB::LoadBlockIndexGuts.
disable CheckIndex() like litecoin does.
2013-12-30 15:12:52 -02:00
Miguel Freitas
46660a989a checkpoint 2013-12-30 14:52:41 -02:00
Miguel Freitas
339c4a00ea TODO cleanups 2013-12-30 14:15:45 -02:00
Miguel Freitas
884e25eecc prevent useless dhtget (for neighbor check) when torrent is already known 2013-12-30 12:24:29 -02:00
Miguel Freitas
60db413630 less noisy 2013-12-30 12:14:03 -02:00
Miguel Freitas
378e4622e3 make it 2h before blockchain is considered outdated 2013-12-17 08:08:16 -02:00
Miguel Freitas
fd404d0927 dumppubkey json return value must be hexstr 2013-12-08 18:24:25 -02:00
Miguel Freitas
4d3e7a3551 upnp enabled by default like in qmake project 2013-12-08 16:34:07 -02:00
Miguel Freitas
e26785510c third dnsseed 2013-12-03 22:03:50 -02:00
Miguel Freitas
33a04c7cf0 improve miner response to new blocks received to prevent stale blocks being generated 2013-11-30 18:48:04 -02:00
Miguel Freitas
d2d64bfed2 make sure strSpamUser is valid before using it to sign message 2013-11-30 18:34:34 -02:00
Miguel Freitas
74470ebddb check for key mismatch when importing keys 2013-11-30 18:21:47 -02:00
Miguel Freitas
36da093939 recheckusertorrent rpc 2013-11-23 18:25:55 -02:00
Miguel Freitas
dd128a39a1 Merge ../twister-bare 2013-11-23 13:09:16 -02:00
Miguel Freitas
b4d044f843 utf8 character counting to check message size < 140 2013-11-23 13:06:28 -02:00
Miguel Freitas
0903a9e0ec fix bug where "follow" failed for empty users (who followed no one) 2013-11-23 10:05:15 -02:00
Miguel Freitas
c61f016b44 reduce checkblocks even more for faster startup 2013-11-23 10:04:43 -02:00
Miguel Freitas
40cd54e0ec use utf8 for text json strings. only a few characters need to be
escaped per json rfc spec. escaping everything was causing problem with browsers.
2013-11-22 17:34:39 -02:00
Miguel Freitas
bc990abfff "hexcape" binary strings before json encoding.
because json doesn't support binary we need to escape to hex, unfortunatly,
this add requirement to twisterd to know each possible binary field we may add to dht items.
(unlike bencode that simply doesn't care).
2013-11-22 17:33:07 -02:00
Miguel Freitas
d5a81fdcdd check less blocks on startup 2013-11-21 14:50:49 -02:00
Miguel Freitas
6fae6f216b remove assert. not the proper way to handle this 2013-11-20 14:49:37 -02:00
Miguel Freitas
408fec30ed periodically save user_data 2013-11-18 18:01:30 -02:00
Miguel Freitas
570d9196a2 reordering direct messages by time is only allowed when both messages have been received (not fromMe).
otherwise we would be comparing times from different computers, which may cause messages to get out of order.
2013-11-18 13:54:07 -02:00
Miguel Freitas
37aa4f1827 rework locking in getinfo to fix deadlock 2013-11-18 10:51:23 -02:00
Miguel Freitas
78f3ceb921 reduce contention with mutex cs_twister 2013-11-17 23:43:54 -02:00
Miguel Freitas
fb0802449c implement index of partial usernames so search-as-you-type can work as expected with listusernamespartial 2013-11-17 22:56:06 -02:00
Miguel Freitas
f4d6c2be28 getnumpieces rpc 2013-11-14 16:17:06 -02:00
Miguel Freitas
2499954dbd proper deleting leveldb iterator fixes assertion failure 2013-11-14 15:15:47 -02:00
Miguel Freitas
ba0b4c8613 avoid adding the same nodes to dht subsys all the time 2013-11-14 15:07:47 -02:00
Miguel Freitas
9c93f1c377 fix checkpoint 2013-11-14 01:46:56 -02:00
Miguel Freitas
3847d74f5d fix GetTransaction old key search. how many more iterations do i need to get this thing right? 2013-11-14 01:22:19 -02:00
Miguel Freitas
30992b87c3 use scrypt hash function like litecoin 2013-11-14 00:57:51 -02:00
Miguel Freitas
a93a864539 import scrypt sources from litecoin 2013-11-13 22:34:18 -02:00
Miguel Freitas
4be2deab5c backup dns seed 2013-11-13 22:26:16 -02:00
Miguel Freitas
bc0519068a parameter -htmldir 2013-11-11 17:14:12 -02:00
Miguel Freitas
6957873a90 serve html files from ~/.twister/html (actually dataDir + "/html") 2013-11-10 15:08:02 -02:00
Miguel Freitas
bd479f0b2e new rpc adddnsseed 2013-11-10 11:54:22 -02:00
Miguel Freitas
a2c87535c0 periodically save resume data. if daemon crashes we don't lose everything. 2013-11-10 00:03:24 -02:00
Miguel Freitas
00411a4020 client name is now "twisterd" 2013-11-08 19:50:42 -02:00
Miguel Freitas
2917054c80 change to version 0.9.00. sounds better than 0.8.99 2013-11-08 18:37:24 -02:00
Miguel Freitas
22cba50e54 useless debug 2013-11-08 08:49:50 -02:00
Miguel Freitas
c035fc8371 Merge 2013-11-08 00:37:15 -02:00
Miguel Freitas
6d7e895d7c finer locking to fix another deadlock case 2013-11-08 00:36:49 -02:00
Miguel Freitas
57eeb6d73b more hashtags separators and tolower 2013-11-07 17:38:21 -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
ceddb2781b Check duplicate usernames within the same block 2013-11-06 18:25:24 -02:00
Miguel Freitas
5529ce130c add a valid checkpoint 2013-11-06 16:20:01 -02:00
Miguel Freitas
26778c1ff1 fix another deadlock 2013-11-06 16:19:43 -02:00
Miguel Freitas
b470360bd5 fix another case of uninitialized entry on bencode 2013-11-06 15:43:12 -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
4c99e80449 fix txindex inconsistency if twisterd crashes.
txindex (user,-1) may point to a key in a block not yet linked to the chain.
2013-11-05 14:02:37 -02:00
Miguel Freitas
247ae657ef remove failing assert when db is empty 2013-11-05 00:26:20 -02:00
Miguel Freitas
f81088be70 properly implement verification using keys that have been replaced.
the basic idea is replace txIndex key with a pair (username,height).
height = -1 for the most up-to-date key, otherwise height = last block where previous key was valid.
by checking maxHeight and iterating backwards we can easily find the key to validate data from any given block number.
2013-11-05 00:00:11 -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
70f96750b5 Merge ../twister-android 2013-11-02 12:41:01 -02:00
Miguel Freitas
ecd49d2fb2 truncate url at '?' when serving htmls 2013-11-02 12:39:56 -02:00
Miguel Freitas
7e1468299b Merge branch 'master' of /home/miguel/softs/twister 2013-11-02 12:35:58 -02:00
Miguel Freitas
22161a71ed fix deadlock 2013-11-01 15:13:37 -02:00
Miguel Freitas
6594b01e6f less logging when pooling for network status 2013-10-31 23:52:44 -02:00
Miguel Freitas
8286e4c78d old debug printf 2013-10-31 14:24:04 -02:00
Miguel Freitas
0678ae169b CreateSpamMsgTx fallback to "nobody" 2013-10-31 14:04:13 -02:00
Miguel Freitas
2c48386b4e Properly implement spam signing and checking to prevent it from been used to impersonate users.
"nobody" is an exception so default client could still send unauthenticated/anonymous spam
messages.
2013-10-31 14:02:29 -02:00
Miguel Freitas
277c917b53 no use for setting/getting defaultuser, it just adds confusion. 2013-10-31 13:48:31 -02:00
Miguel Freitas
2df6ff2420 persist spammsg to send and generate status 2013-10-30 21:19:14 -02:00