Commit Graph

3094 Commits

Author SHA1 Message Date
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
Miguel Freitas
3ac54ffbe9 don't start torrent for nonexistent users. (we will need something different for #hashtags) 2013-10-30 20:57:49 -02:00
Miguel Freitas
defb9a13a3 increase POW difficulty for user registrations 2013-10-30 18:55:13 -02:00
Miguel Freitas
432535bd6d fix listusernamespartial: search string must be shorter than username being compared (or equal). not longer. 2013-10-30 17:31:30 -02:00
Miguel Freitas
8d793b371d return "" in dumppubkey for nonexistent user 2013-10-29 18:02:33 -02:00
Miguel Freitas
6ade53ce53 implement new rpc dumppubkey.
importprivkey now verifies if username exists in txdb
2013-10-29 17:54:23 -02:00
Miguel Freitas
549ba353dd yet another ThreadMaintainDHTNodes heuristic improvement 2013-10-29 10:48:06 -02:00
Miguel Freitas
3c90b0a94c rt also updates status 2013-10-28 23:51:11 -02:00
Miguel Freitas
dbc640faaa implement exact match on username search 2013-10-28 23:30:18 -02:00
Miguel Freitas
d16d50313a insert directmsgs into vector ordered by time 2013-10-28 23:15:19 -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
d9c64c2076 another try at ThreadMaintainDHTNodes to fix the problem of adding useless dht nodes and forcing announcements all the time. 2013-10-28 19:45:01 -02:00
Miguel Freitas
5dd9116627 less debug noise 2013-10-28 19:28:15 -02:00
Miguel Freitas
c7141bcb2e prevent bencoding uninitialized entries (which causes assertion fail) 2013-10-28 19:17:50 -02:00
Miguel Freitas
d93da9efd5 2 months to expire posts from dht 2013-10-27 22:54:47 -02:00
Miguel Freitas
5c0cb31f26 disable -fstack-protector on android. is it causing false-positives or is really
a stack overflow going on? if so why linux compilation doesn't show the same?
not sure, but it seems to work fine, no crashs without this flag.
2013-10-27 20:12:46 -02:00
Miguel Freitas
06c93bcf38 update port in help text 2013-10-27 16:12:06 -02:00
Miguel Freitas
f119226b8f crtend fixes SIGILL 2013-10-26 19:09:13 -02:00
Miguel Freitas
699d7a0802 Merge branch 'master' of /home/miguel/softs/twister 2013-10-26 17:59:26 -02:00
Miguel Freitas
a7f7b45976 remove test code 2013-10-26 16:16:07 -02:00
Miguel Freitas
1d78f7ec27 improve dht resource expiration policy (still not enabled) 2013-10-26 16:00:16 -02:00
Miguel Freitas
3e64454b7d Save lastk field to post so torrent-less navigation through posts is possible. => DONE 2013-10-26 13:42:50 -02:00
Miguel Freitas
2c6318caae less noisy in debug 2013-10-26 13:09:20 -02:00
Miguel Freitas
66fb23c4b8 try to fix automatically another block db inconsistency problem 2013-10-26 13:08:37 -02:00
Miguel Freitas
d14dca10e1 disable libtorrent read cache cause i've messed up something 2013-10-25 23:44:08 -02:00
Miguel Freitas
39e8ed8fb7 increase number of rpc workers 2013-10-24 23:32:20 -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
55b3f62872 fix previous commit: don't clear spammsg if it is not consumed. 2013-10-22 19:55:23 -02:00
Miguel Freitas
552b7b542d persist some global config. now we implement a spam policy max 1 every 8 hours (not cumulative). 2013-10-22 19:51:18 -02:00
Miguel Freitas
21faab36b7 inform the user that database will be rebuilt. without UI, the old message was confusing. 2013-10-22 19:47:50 -02:00
Miguel Freitas
6cb5364605 disable printf of dm's 2013-10-22 18:31:54 -02:00
Miguel Freitas
6fc4979a1f no setlocale in android 2013-10-20 18:23:57 -02:00
Miguel Freitas
f69227c73a android path "/sdcard/twister" (not quite standard but works) 2013-10-20 16:03:19 -02:00
Miguel Freitas
d9c98f3a73 add some mime types to the lame web server 2013-10-20 14:41:55 -02:00
Miguel Freitas
5f3731bab3 fixing android build 2013-10-19 16:09:57 -03: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
bdb70b0d14 small compilation fix 2013-10-15 22:16:56 -03:00
Miguel Freitas
d17224516f shorter rpc name: getlocaldirectmessages => getdirectmsgs 2013-10-14 18:55:56 -03:00
Miguel Freitas
f75fc11274 getlocaldirectmessages: get decrypted direct messages sent/received by user 2013-10-14 11:41:40 -03:00
Miguel Freitas
42e7254af1 remove encryptDecryptTest(). i know it works. 2013-10-13 18:30:29 -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
38424e0afb fix importing privkey to wallet (username was not saved to disk) 2013-10-13 17:59:08 -03:00
Miguel Freitas
274ffeb1f6 increase percentage of getaddr (ADDRMAN_GETADDR_MAX_PCT) until we grow older and bigger 2013-10-13 16:57:35 -03:00
Miguel Freitas
db74a61476 more addrman debug in getinfo 2013-10-13 14:13:46 -03:00
Miguel Freitas
ff563ccee1 print addrman size 2013-10-12 18:07:34 -03:00
Miguel Freitas
019da72568 rework initialization order a little, try to start torrents after dht comes up 2013-10-12 17:31:49 -03:00
Miguel Freitas
eab70b0466 force dht_announce on every torrent after adding dht nodes 2013-10-12 16:45:06 -03:00
Miguel Freitas
f1c58b9d2a trying (once more) to improve ThreadMaintainDHTNodes (dht nodes from registration network nodes) 2013-10-12 16:24:30 -03:00
Miguel Freitas
56194d1eaf dns seed 2013-10-12 14:49:30 -03:00
Miguel Freitas
e5b21d6810 fix dm store duplicate checking. i did it completely wrong before. 2013-10-10 23:25:44 -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
b803734915 prevent duplicates when adding dm to the list of decrypted messages (in memory) - untested 2013-10-10 19:44:44 -03:00
Miguel Freitas
22bf956f8a printf typo 2013-10-10 14:03:41 -03:00
Miguel Freitas
9d1b5915f9 better error checking and variables names in user_data save/load 2013-10-10 14:02:37 -03:00
Miguel Freitas
02f3de841b do lazy_entry type checking in loadUserData 2013-10-08 22:45:46 -03:00
Miguel Freitas
4c33706c40 persist user_data (following and DMs) 2013-10-08 22:37:29 -03:00
Miguel Freitas
99be67bb55 make instructions 2013-10-08 18:39:07 -03:00
Miguel Freitas
d5f3af166f wallet must be updated with metadata of key being replaced. otherwise we get two keys with the same username next reload. 2013-10-08 17:22:37 -03:00
Miguel Freitas
d780dc76b9 getrawtransaction using username instead of hash 2013-10-08 16:18:06 -03:00