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
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