Commit Graph

4161 Commits

Author SHA1 Message Date
Riccardo Spagni 6189a775b0
Merge pull request #3636
998c1461 daemon: read config file before reading any other args (stoffu)
2018-04-21 21:57:31 +02:00
Riccardo Spagni bcb71797c8
Merge pull request #3633
f914df84 device: add a one off override keyword where appropriate (moneromooo-monero)
2018-04-21 21:55:44 +02:00
Riccardo Spagni 7e98e9d7ce
Merge pull request #3630
51b511be simplewallet: add version command (moneromooo-monero)
35d1269f daemon: add a version command (moneromooo-monero)
2018-04-21 21:55:28 +02:00
Riccardo Spagni e6cf9c06fc
Merge pull request #3624
d8584fc8 util: log stack trace on crash (moneromooo-monero)
2018-04-21 21:55:02 +02:00
Riccardo Spagni 03ff3be10e
Merge pull request #3672
875c1cab wallet2: increase rpc timeout for get_output_distribution (moneromooo-monero)
70f23217 add top height to get_output_distribution, and cache it for rct (moneromooo-monero)
8c7363fb rpc: add missing perf timer for get_output_distribution (moneromooo-monero)
2018-04-21 21:54:08 +02:00
anonimal 6b85398031
Build: update CMake and p2p for in-tree miniupnp
(cherry picked from commit a7366b5feeffaeb65b217b2d6f138e0ab1c90192)
2018-04-21 09:43:23 +00:00
moneromooo-monero 875c1cabb9
wallet2: increase rpc timeout for get_output_distribution 2018-04-19 16:06:26 +01:00
moneromooo-monero 70f2321763
add top height to get_output_distribution, and cache it for rct
This should cache the vast majority of calls for long running wallets
2018-04-19 16:06:22 +01:00
moneromooo-monero 8c7363fbef
rpc: add missing perf timer for get_output_distribution 2018-04-19 16:06:20 +01:00
anonimal 859db52fda
CMake: update new location of in-tree miniupnpc
(cherry picked from commit b16a282f97d8f6c967e8a0b1ecfd75110f095182)
2018-04-19 10:56:09 +00:00
stoffu 998c1461c3
daemon: read config file before reading any other args 2018-04-14 22:05:24 +09:00
moneromooo-monero f914df8494
device: add a one off override keyword where appropriate 2018-04-14 10:59:38 +01:00
moneromooo-monero 51b511be4c
simplewallet: add version command 2018-04-13 18:47:33 +01:00
moneromooo-monero 35d1269fac
daemon: add a version command 2018-04-13 18:47:30 +01:00
moneromooo-monero d8584fc8d7
util: log stack trace on crash 2018-04-12 20:36:16 +01:00
stoffu b5d6c723e9
wallet2: store subaddress lookahead settings 2018-04-12 22:23:53 +09:00
Riccardo Spagni 1f96755ddc
Merge pull request #3618
3367ed86 blockchain_blackball: fix build with CLANG 5 (moneromooo-monero)
2018-04-12 15:10:21 +02:00
moneromooo-monero 3367ed863c
blockchain_blackball: fix build with CLANG 5
It doesn't like the explicit NULL dereference (which is fine, honest)
2018-04-12 13:51:26 +01:00
cslashm 94b899db26 Use 'boost' mutex instead of 'std' mutex 2018-04-12 13:58:57 +02:00
cslashm 2c274e05fe Fix sub-address tx scan.
When additional keys was needed, the TX scan failed because the
derivation data was always recomputed with the main tx_key and not
the corresponding additional one.

Moreover this patch avoid perf decreasing when not using HW device.
2018-04-12 13:58:57 +02:00
Riccardo Spagni 5e08fd89ea
Merge pull request #3549
73951cbd wallet2: request transactions in slices when scanning for known rings (moneromooo-monero)
25fe67e4 rpc: allow getting pruned blocks from gettransactions (moneromooo-monero)
2018-04-12 13:49:33 +02:00
Riccardo Spagni a95461e76d
Merge pull request #3609
08343aba tx_pool: fix loading with colliding key images (moneromooo-monero)
2018-04-12 13:48:44 +02:00
Riccardo Spagni 1e9cc3e43e
Merge pull request #3602
a9cc88ee common: make this build with unbound 1.4.20 (moneromooo-monero)
2018-04-12 13:48:12 +02:00
Riccardo Spagni 14c870ee5f
Merge pull request #3615
24acb66e wallet2: fix misc issues when the ringdb can't be initialized (moneromooo-monero)
2018-04-12 13:47:54 +02:00
Riccardo Spagni 3b8704b0fa
Merge pull request #3555
0b26c4d5 wallet2: move segregation height to v7 (moneromooo-monero)
2018-04-12 13:47:39 +02:00
Riccardo Spagni 5d8439e310
Merge pull request #3534
eecfb57d wallet: warn if not using the default ring size (moneromooo-monero)
2018-04-12 13:47:20 +02:00
Riccardo Spagni f6094bb225
Merge pull request #3532
aa5c2e01 simplewallet: warn about key reuse on startup (moneromooo-monero)
2018-04-12 13:46:50 +02:00
Riccardo Spagni 226de8e928
Merge pull request #3530
eb59f7c5 cryptonote_tx_util: make destinations properly shuffled (stoffu)
2018-04-12 13:46:34 +02:00
Riccardo Spagni 8703f1d80e
Merge pull request #3516
1e0958c0 wallet: fix default mixin (4 -> 6) (sneurlax)
2018-04-12 13:46:18 +02:00
moneromooo-monero 24acb66eac
wallet2: fix misc issues when the ringdb can't be initialized 2018-04-12 11:07:07 +01:00
Riccardo Spagni 3a9290ba6f
Merge pull request #3511
0beb94f3 device: fix endianess dependence on subaddress secret key generation (moneromooo-monero)
2018-04-12 11:15:27 +02:00
Riccardo Spagni 5053f8f40b
Merge pull request #3502
11c933e1 fix lambda compile error on openbsd (moneromooo-monero)
2018-04-12 11:14:43 +02:00
Riccardo Spagni 96b2fee721
Merge pull request #3536
c77d2bfa Add the possibility to export private view key for fast scan. (cslashm)
100b7bc1 Change mutex lock model to avoid dead lock and ensure locks are always released. (cslashm)
641dfc99 Automatic height setup when creating/restoring hw device. (cslashm)
2018-04-12 11:12:33 +02:00
Riccardo Spagni 60b18cdd1f
Merge pull request #3492
dac3895a update block hashes for checkpoints.dat (Riccardo Spagni)
2018-04-12 11:07:16 +02:00
Riccardo Spagni 93047ce762
Merge pull request #3485
1834127c rpc: make get_output_distribution a non-restricted RPC (moneromooo-monero)
2018-04-12 11:06:26 +02:00
Riccardo Spagni 1b4dc46129
Merge pull request #3473
eaa8bfe7 wallet2: set from_height of GET_OUTPUT_DISTRIBUTION correctly The previous expression (stoffu)
0a619f78 wallet2: enable the mitigation only after the fork height (stoffu)
2018-04-12 11:05:31 +02:00
Riccardo Spagni 3d6636e79c
Merge pull request #3471
5f664793 p2p: correct port number for seed nodes (stoffu)
2018-04-12 11:02:46 +02:00
Riccardo Spagni ebb55f797b
Merge pull request #3468
0098ed33 wallet2: fix for loading settings of key reuse mitigation (stoffu)
2018-04-12 11:00:47 +02:00
Riccardo Spagni 959f6ed9a5
Merge pull request #3461
57300491 wallet: catch exceptions dealing with ringdb and warn (moneromooo-monero)
2018-04-12 10:57:50 +02:00
moneromooo-monero 08343abaf4
tx_pool: fix loading with colliding key images
A key image may be present more than once if all but one of the
txes spending that key image are coming from blocks. When loading
a txpool from storage, we must load the one that's not from a
block first to avoid rejection
2018-04-11 15:27:56 +01:00
moneromooo-monero a9cc88ee76
common: make this build with unbound 1.4.20
Common on currently used distros
2018-04-10 23:46:18 +01:00
stoffu 0b88fff3a5
simplewallet: fix help message of sign_transfer 2018-04-07 22:51:03 +09:00
moneromooo-monero 73951cbd39
wallet2: request transactions in slices when scanning for known rings
This avoid massive memory consumption for huge wallets
2018-04-07 08:31:46 +01:00
moneromooo-monero 25fe67e4cf
rpc: allow getting pruned blocks from gettransactions
and get them pruned in find_and_save_rings, since it does not need
the pruned data in the first place.

Also set decode_to_json to false where missing, we don't need this
either.
2018-04-07 08:29:11 +01:00
stoffu f82c10dc96
WalletManagerImpl: reuse existing connection to daemon instead of reconnectivng every time 2018-04-07 14:06:29 +09:00
moneromooo-monero 0b26c4d57c
wallet2: move segregation height to v7
since people seem to really want to use things the wrong way.
2018-04-05 12:49:38 +01:00
cslashm c77d2bfaa0 Add the possibility to export private view key for fast scan.
On client startup the device asks for authorization to export the private view key.
If user agree, the client hold the private view key allowing a fast blockchain scan.
If the user does not agree, the blockchain scan is fully done via the device.
2018-03-31 18:00:33 +02:00
cslashm 100b7bc10d Change mutex lock model to avoid dead lock and ensure locks are always released.
Additional cosmetic fixes:
 move 'name' as protected
 remove unnecessary local var
 Fix debug log
2018-03-31 18:00:33 +02:00
cslashm 641dfc991f Automatic height setup when creating/restoring hw device.
When creating/restoring wallet, if --restore-height option is not used the current estimate
height is used for starting the scan. In other words it is assume we are creating a new account.
2018-03-31 18:00:33 +02:00
moneromooo-monero eecfb57df9
wallet: warn if not using the default ring size 2018-03-31 15:47:02 +01:00
moneromooo-monero aa5c2e01e7
simplewallet: warn about key reuse on startup 2018-03-31 10:52:10 +01:00
stoffu eb59f7c563
cryptonote_tx_util: make destinations properly shuffled 2018-03-31 18:37:46 +09:00
sneurlax 1e0958c083 wallet: fix default mixin (4 -> 6) 2018-03-28 09:30:11 -07:00
moneromooo-monero 0beb94f323
device: fix endianess dependence on subaddress secret key generation
We now force little endianness
2018-03-28 11:14:25 +01:00
moneromooo-monero 11c933e137
fix lambda compile error on openbsd 2018-03-27 14:48:36 +01:00
Riccardo Spagni dac3895ac1
update block hashes for checkpoints.dat 2018-03-24 08:36:10 +02:00
moneromooo-monero 1834127c82
rpc: make get_output_distribution a non-restricted RPC
so that those nodes can still be used for sending transactions
2018-03-23 10:56:55 +00:00
moneromooo-monero 3f5fb6fe6d
simplewallet: add --untrusted-daemon option 2018-03-22 14:20:55 +00:00
stoffu eaa8bfe7c0
wallet2: set from_height of GET_OUTPUT_DISTRIBUTION correctly
The previous expression

    req_t.from_height = X ? Y >= Z : 0;

forces the parameter to take the value of either 0 or 1.
2018-03-22 20:02:25 +09:00
stoffu 0a619f789b
wallet2: enable the mitigation only after the fork height 2018-03-22 20:02:14 +09:00
stoffu 5f6647934b
p2p: correct port number for seed nodes 2018-03-22 14:56:35 +09:00
stoffu 0098ed338c
wallet2: fix for loading settings of key reuse mitigation 2018-03-22 12:10:46 +09:00
cryptochangements34 ad19f8679e don't show error twice when starting simplewallet 2018-03-21 22:56:04 -04:00
moneromooo-monero 5730049178
wallet: catch exceptions dealing with ringdb and warn 2018-03-21 14:29:49 +00:00
moneromooo-monero a6a54fa883
blockchain: cache difficulty for next block
Takes about 10 ms, which takes pretty much all of the get_info
RPC, which is called pretty often from wallets.

Also add a new lock so we don't need to lock the blockchain lock,
which will avoid blocking for a long time when calling the getinfo
RPC while syncing. Users of get_difficulty_for_next_block who need
the lock will have locked it already.
2018-03-19 09:05:40 +00:00
moneromooo-monero b1398fff40
core: fix use of uninitialised data 2018-03-18 23:37:00 +00:00
Riccardo Spagni 428fb45f68
update checkpoints 2018-03-18 16:44:36 +02:00
Riccardo Spagni 3fedd51d26
update checkpoints.dat to block 1532400 2018-03-18 16:42:20 +02:00
Riccardo Spagni 83dbc5be76
update version to 0.12 Lithium Luna 2018-03-18 16:15:50 +02:00
Riccardo Spagni df91d7bcbd
Merge pull request #3426
8ea3c4d5 simplewallet: new --use-english-language-names flag (moneromooo-monero)
2018-03-18 15:58:12 +02:00
Riccardo Spagni b8ccd47b9f
Merge pull request #3419
1e393f4b wallet: make the segregation height settable (moneromooo-monero)
2018-03-18 15:57:58 +02:00
moneromooo-monero bb20f104ba
Move v7 fork to 1546000 to give more update time 2018-03-18 09:29:31 +00:00
moneromooo-monero 8ea3c4d544
simplewallet: new --use-english-language-names flag
On some Windows systems, displaying language names in their own
languages freezes the display.
2018-03-17 22:46:41 +00:00
moneromooo-monero 1e393f4bb7
wallet: make the segregation height settable
via user setting first, then DNS TXT record, hardcoded fallback
2018-03-17 14:56:31 +00:00
Riccardo Spagni 5cd36e48bf
Merge pull request #3421
9732a37e wallet_rpc_server: add sweep_unmixable as alias for sweep_dust (moneromooo-monero)
2018-03-17 16:52:46 +02:00
Riccardo Spagni 83651630bc
Merge pull request #3418
20a00266 blockchain: forbid bulletproof types before v8 (moneromooo-monero)
2018-03-17 16:51:47 +02:00
moneromooo-monero 9732a37e9a
wallet_rpc_server: add sweep_unmixable as alias for sweep_dust 2018-03-17 11:22:58 +00:00
moneromooo-monero 20a002667c
blockchain: forbid bulletproof types before v8
They were already forbidden implicitely, but let's make that
explicit for robustness
2018-03-16 18:18:34 +00:00
stoffu b86f1e5dad Add command line option allowing to restrict the default sub-address lookahead in order to avoid
so looooong time of set-up when creating a HW based wallet.
2018-03-16 18:00:28 +01:00
Riccardo Spagni a14eabc043
Merge pull request #3416
6f54c910 simplewallet: fix restore height prompt that got disabled by #3175 (stoffu)
2018-03-16 18:10:20 +02:00
Riccardo Spagni 432480fa42
Merge pull request #3414
524cbdc1 blockchain: fix log message about per-kB fee (stoffu)
2018-03-16 18:09:34 +02:00
Riccardo Spagni 2a9839cc3e
Merge pull request #3376
833f9fcf show '<Not set>' for empty wallet description (cryptochangements34)
2018-03-16 18:08:52 +02:00
Riccardo Spagni 0f27fc57ac
Merge pull request #3336
57c0b1ed Fix typos in various files (Dimitris Apostolou)
2018-03-16 18:08:07 +02:00
moneromooo-monero eac3a11ed3
wallet: more user friendly print_ring
It can now take a txid (to display rings for all its inputs),
and will print rings in a format that set_ring understands
2018-03-16 12:07:45 +00:00
moneromooo-monero 798535149d
wallet2_api: add key reuse mitigations API 2018-03-16 12:07:42 +00:00
moneromooo-monero b057a21d56
wallet2_api: add ring api 2018-03-16 10:33:05 +00:00
moneromooo-monero d32ef7b0f2
ringdb: factor ring addition code 2018-03-16 10:33:02 +00:00
moneromooo-monero a7da8208f5
wallet2_api: add blackball api 2018-03-16 10:32:59 +00:00
moneromooo-monero 504428ab4a
ringdb: use the genesis block as a db name
This will avoid careless forkers polluting the shared database
even if they make their own chain. They'll then automatically
start using another subdb, and any key-reusing fork of those
forks will reuse their subdbs.
2018-03-16 10:32:54 +00:00
moneromooo-monero b09e5181cc
wallet: add a set_ring command
This is so one can set rings for spent key images in case the
attackers don't merge the ring matching patch set.
2018-03-16 10:32:51 +00:00
moneromooo-monero 0590f62ab6
new blockchain_usage tool, reports on output usage 2018-03-16 10:32:46 +00:00
moneromooo-monero db10dd6d83
wallet: make ringdb an object with database state 2018-03-16 10:32:42 +00:00
moneromooo-monero df6fad4c62
blockchain_utilities: new blockchain_blackball tool
It scans for known spent outputs and stores their public keys
in a database which can then be read by the wallet, which can
then avoid using those as fake outs in new transactions.

Usage: monero-blockchain-blackball db1 db2...

This uses the shared database in ~/.shared-ringdb
2018-03-16 10:32:39 +00:00
moneromooo-monero d29ea0455a
wallet: add an output blackball list to avoid using those in rings 2018-03-16 10:32:37 +00:00
moneromooo-monero 18eaf19489
wallet: key reuse mitigation options
If a pre-fork output is spent on both Monero and attack chain,
any post-fork output can be deduced to be a fake output, thereby
decreasing the effective ring size.

The segregate-per-fork-outputs option, on by default, allows
selecting only pre-fork outputs in this case, so that the same
ring can be used when spending it on the other side, which does
not decrease the effective ring size.

This is intended to be SET when intending to spend Monero on the
attack fork, and to be UNSET if not intending to spend Monero
on the attack fork (since it leaks the fact that the output being
spent is pre-fork).

If the user is not certain yet whether they will spend pre-fork
outputs on a key reusing fork, the key-reuse-mitigation2 option
should be SET instead.

If you use this option and intend to spend Monero on both forks,
then spend real Monero first.
2018-03-16 10:32:34 +00:00
moneromooo-monero 5f146873c5
wallet: add shared ring database
This maps key images to rings, so that different forks can reuse
the rings by key image. This avoids revealing the real inputs like
would happen if two forks spent the same outputs with different
rings. This database is meant to be shared with all Monero forks
which don't bother making a new chain, putting users' privacy at
risk in the process. It is placed in a shared data directory by
default ($HOME/.shared-ringdb on UNIX like systems). You may
use --shared-ringdb-dir to override this location, and should
then do so for all Monero forks for them to share the database.
2018-03-16 10:32:29 +00:00
moneromooo-monero 41f727ce42
add RPC to get a histogram of outputs of a given amount 2018-03-16 10:32:26 +00:00
cryptochangements34 833f9fcfe9 show '<Not set>' for empty wallet description 2018-03-15 23:22:45 -04:00
stoffu 6f54c910f7
simplewallet: fix restore height prompt that got disabled by #3175 2018-03-16 11:55:31 +09:00
stoffu 524cbdc1e2
blockchain: fix log message about per-kB fee 2018-03-16 10:43:19 +09:00