Commit Graph
100 Commits
Author SHA1 Message Date
moneromooo-monero e350cc5ad5 wallet2: fix duplicate output making it to the RPC 2018-09-25 11:28:39 +00:00
moneromooo-monero bf9a0f4c65 epee: fix stack overflow on crafted input 2018-09-25 11:27:50 +00:00
moneromooo-monero 45683ee02c epee: fix invalid memory write reading an array entry
Reported by Lilith Wyatt at Talos.

Since this is not needed in normal operation, I just let this
error out.
2018-09-25 11:27:48 +00:00
moneromooo-monero c39ad0cd72 tx_pool: fix tx removal at startup keeping references 2018-09-25 09:58:37 +00:00
moneromooo-monero 50981c40ce blockchain: add stagenet v8 and v9, two weeks before mainnet 2018-09-24 20:43:39 +00:00
moneromooo-monero b35beaa8d6 wallet_rpc_server: include account index in incoming_transfers RPC 2018-09-24 19:42:26 +00:00
moneromooo-monero 1dd5c73f62 bulletproofs: multiply points by 8 first thing in verification
instead of merging that with other scalar multiplications
where possible for speed, since this is not actually safe
2018-09-24 14:02:51 +00:00
moneromooo-monero 92d1da28ef unit_tests: fix build with GCC 5.4.0 on ubuntu 2018-09-23 14:38:31 +00:00
moneromooo-monero 6e270fbd29 wallet2_api: fix for latest code changes 2018-09-22 23:00:34 +00:00
moneromooo-monero c05f98d4c3 README: remove overlooked conflict 2018-09-22 19:07:48 +00:00
moneromooo-monero 7964d4f8ea wallet2: handle corner case in picking fake outputs
If we originally think we have enough outputs on the blockchain
to pick random fake outputs, we might end up with not enough of
them if enough are actually blackballed.
2018-09-22 15:57:47 +00:00
moneromooo-monero 83907f8829 wallet_rpc_server: fix --run-as-service on Windows
Thanks iDunk for the windows testing
2018-09-22 11:56:30 +00:00
moneromooo-monero 4d0a8db06d device: fix warnings about overridden functions 2018-09-21 19:33:15 +00:00
moneromooo-monero e03402b0c7 wallet_rpc_server: fix build for windows
Thanks iDunk for building patches on windows
2018-09-21 18:50:05 +00:00
moneromooo-monero 43a06350cf ringdb: use cursors to be a bit faster 2018-09-20 12:21:57 +00:00
moneromooo-monero 8db2d8d416 simplewallet: fix --generate-from-json setting wrong wallet filename 2018-09-19 20:22:46 +00:00
moneromooo-monero a2505c2fcc gpg_keys: bump my key validity for two more years 2018-09-19 07:50:49 +00:00
moneromooo-monero b766014933 node_rpc_proxy: return a non empty error string on connection failure
This makes it easier to avoid bugs on the caller side if errors are
represented by non empty strings.

This fixes the refresh height setting in new wallets when no daemon
is running.
2018-09-17 11:03:46 +00:00
moneromooo-monero 05edc969c0 simplewallet: remove obsolete transfer_original command 2018-09-16 14:29:41 +00:00
moneromooo-monero 6e6ffc0650 wallet2_api: bring up to latest wallet api 2018-09-16 13:24:48 +00:00
moneromooo-monero 6dbbc69055 unit_tests: sanity check on transaction weight 2018-09-15 16:14:38 +00:00
moneromooo-monero 27af46c930 tests: update test wallet keys file for encrypted keys 2018-09-15 09:34:11 +00:00
moneromooo-monero 4cb1d879f6 blockchain_blackball: s/return false;/return 0;/ 2018-09-14 20:08:52 +00:00
moneromooo-monero 9bdc9109fb blockchain_blackball: use %zu for size_t 2018-09-14 17:16:08 +00:00
moneromooo-monero db3db0930e blockchain_blackball: use mdb_size_t where appropriate 2018-09-14 17:11:11 +00:00
moneromooo-monero b1f05f589e blockchain_blackball: error out on fgets error 2018-09-14 16:31:24 +00:00
moneromooo-monero 44259e560e wallet: ask-password can now ask without encrypting the secret spend key 2018-09-14 11:14:21 +00:00
moneromooo-monero 53a99ca112 cn_deserialize: comment out pruned tx case
it's not merged yet
2018-09-14 10:55:50 +00:00
moneromooo-monero be001326d1 remove obsolete daemon selection of fake outs and old tx construction 2018-09-14 10:51:45 +00:00
moneromooo-monero 607301bf6d rct: avoid repeated unnecessary conversions when accummulating 2018-09-14 10:18:01 +00:00
moneromooo-monero ac9346637a rpc: add a "is an update available" flag in get_info
Make it easier for a user to be told when to update
2018-09-14 09:28:03 +00:00
moneromooo-monero 4d52ec0ca4 mlog: do not display http errors by default
They're controllable by potential attackers and would just spam
2018-09-14 09:23:00 +00:00
moneromooo-monero 2ace509a78 simplewallet: print reason why refresh+password is needed 2018-09-14 08:26:36 +00:00
moneromooo-monero 4f81cd3a3c rpc: add cumulative difficulty in block header data 2018-09-13 12:41:59 +00:00
moneromooo-monero 1660b0e72c tx_pool: make the max tx size a consensus rule from v8 2018-09-13 09:43:29 +00:00
moneromooo-monero b2bb9312a7 blockchain: simplify output distribution code 2018-09-12 19:20:16 +00:00
moneromooo-monero befdcbf4be db_lmdb: do not use base for cumulative distribution
it's confusing and needlessly complicated
2018-09-12 19:20:13 +00:00
moneromooo-monero 56b50faab2 wallet: use wipeable_string in more places where a secret is used 2018-09-12 09:26:11 +00:00
moneromooo-monero 07ec748c82 wipeable_string: add hex_to_pod function 2018-09-12 09:26:09 +00:00
moneromooo-monero 9137ad2c63 blockchain: add a testnet v9 a day after v8
So that bulletproofs become mandatory
2018-09-11 13:38:36 +00:00
moneromooo-monero ac4f71c200 wallet2: bump testnet rollback to account for coming reorg 2018-09-11 13:38:35 +00:00
moneromooo-monero 8f418a6db0 bulletproofs: #include <openssl/bn.h>
Apparently needed for openssl 1.1.x
2018-09-11 13:38:34 +00:00
moneromooo-monero 2bf636503f bulletproofs: speed up the latest changes a bit 2018-09-11 13:38:32 +00:00
moneromooo-monero 044dff5a30 bulletproofs: scale points by 8 to ensure subgroup validity 2018-09-11 13:38:31 +00:00
moneromooo-monero c83012c476 bulletproofs: match aggregated verification to sarang's latest prototype 2018-09-11 13:38:30 +00:00
moneromooo-monero ce0c743205 performance_tests: add padded bulletproof construction 2018-09-11 13:38:24 +00:00
moneromooo-monero 1224e53b74 core_tests: add a test for 4-aggregated BP verification 2018-09-11 13:38:22 +00:00
moneromooo-monero 0e6ed559c6 fuzz_tests: add a bulletproof fuzz test 2018-09-11 13:38:21 +00:00
moneromooo-monero 463434d1f7 more comprehensive test for ge_p3 comparison to identity/point at infinity
Reported by QuarksLab.
2018-09-11 13:38:20 +00:00
moneromooo-monero d0a0565f7d unit_tests: add a few more multiexp unit tests 2018-09-11 13:38:19 +00:00
moneromooo-monero 6526d87f17 core_tests: add a test for a tx with empty bulletproof 2018-09-11 13:38:18 +00:00
moneromooo-monero a129bbd944 multiexp: fix maxscalar off by one
Reported by QuarksLab.
2018-09-11 13:38:17 +00:00
moneromooo-monero 7ed496cc78 ringct: error out when hashToPoint* returns the point at infinity
Reported by QuarksLab.
2018-09-11 13:38:16 +00:00
moneromooo-monero d1591853bf cryptonote_basic: check output type before using it
Reported by QuarksLab.
2018-09-11 13:38:15 +00:00
moneromooo-monero 61632dc166 ringct: prevent a potential very large allocation
Reported by QuarksLab.
2018-09-11 13:38:14 +00:00
moneromooo-monero a4317e61b5 crypto: some paranoid checks in generate_signature/check_signature
Reported by QuarksLab.
2018-09-11 13:38:12 +00:00
moneromooo-monero 7434df1cc6 crypto: never return zero in random32_unbiased
This avoids problems when the caller can't deal with a zero
walue, which happens often enough that it's worth nipping the
problem in the bud.
2018-09-11 13:38:12 +00:00
moneromooo-monero 0825e97436 multiexp: fix wrong Bos-Coster result for 1 non trivial input
Reported by QuarksLab.
2018-09-11 13:38:10 +00:00
moneromooo-monero a1359ad43c Check inputs to addKeys are in range
Reported by QuarksLab.
2018-09-11 13:38:09 +00:00
moneromooo-monero fe0fa3b9c5 bulletproofs: reject x, y, z, or w[i] being zero
Also try again when we're generate a proof with those characteristics

Reported by QuarksLab.
2018-09-11 13:38:08 +00:00
moneromooo-monero 5ffb2ff9b7 v8: per byte fee, pad bulletproofs, fixed 11 ring size 2018-09-11 13:38:07 +00:00
moneromooo-monero 869b3bf824 bulletproofs: a few fixes from the Kudelski review
- fix integer overflow in n_bulletproof_amounts
- check input scalars are in range
- remove use of environment variable to tweak straus performance
- do not use implementation defined signed shift for signum
2018-09-11 13:38:05 +00:00
moneromooo-monero c429176248 bulletproofs: reject points not in the main subgroup 2018-09-11 13:38:04 +00:00
moneromooo-monero 1569717718 bulletproofs: speed up a few multiplies using existing Hi cache 2018-09-11 13:38:03 +00:00
moneromooo-monero 0b05a0fa74 Add Pippenger cache and limit Straus cache size 2018-09-11 13:38:02 +00:00
moneromooo-monero 51eb3bdcd6 add pippenger unit tests 2018-09-11 13:37:49 +00:00
moneromooo-monero b17b8db3f5 performance_tests: add stats and loop count multiplier options
Stats are: min, median, standard deviation
2018-09-11 13:37:48 +00:00
moneromooo-monero 7314d919e7 perf_timer: split timer class into a base one and a logging one 2018-09-11 13:37:47 +00:00
moneromooo-monero d126a02b5d performance_tests: add aggregated bulletproof tx verification 2018-09-11 13:37:46 +00:00
moneromooo-monero 263431c486 Pippenger multiexp
Based on sarang's python code
2018-09-11 13:37:45 +00:00
moneromooo-monero 1ed0ed4de4 multiexp: cut down on memory allocations 2018-09-11 13:37:44 +00:00
moneromooo-monero 1b867e7f40 precalc the ge_p3 representation of H 2018-09-11 13:37:42 +00:00
moneromooo-monero ef56529f93 performance_tests: document the tested bulletproof layouts 2018-09-11 13:37:41 +00:00
moneromooo-monero 3011178021 unit_tests: a couple more bulletproof unit tests for gamma 2018-09-11 13:37:40 +00:00
moneromooo-monero c444b1b229 require canonical multi output bulletproof layout 2018-09-11 13:37:39 +00:00
moneromooo-monero 7e67c52fa2 Add a define for the max number of bulletproof multi-outputs 2018-09-11 13:37:38 +00:00
moneromooo-monero 2a8fcb421b Bulletproof aggregated verification and tests
Also constrains bulletproofs to simple rct, for simplicity
2018-09-11 13:37:37 +00:00
moneromooo-monero 126196b017 multiexp: some speedups
- use a raw memory block to store cache
- use aligned memory
- use doubling API where appropriate
- calculate straus in bands
2018-09-11 13:37:35 +00:00
moneromooo-monero 71d67bda74 aligned: aligned memory alloc/realloc/free 2018-09-11 13:37:34 +00:00
moneromooo-monero cb9ecab197 performance_tests: add signature generation/verification 2018-09-11 13:37:33 +00:00
moneromooo-monero bacf0a1e2f bulletproofs: add aggregated verification
Ported from sarang's java code
2018-09-11 13:37:32 +00:00
moneromooo-monero e895c3def1 make straus cached mode thread safe, and add tests for it 2018-09-11 13:37:31 +00:00
moneromooo-monero 7f48bf05d7 multiexp: bos coster now works for just one point 2018-09-11 13:37:30 +00:00
moneromooo-monero 9ce9f8caf6 bulletproofs: add multi output bulletproofs to rct 2018-09-11 13:37:28 +00:00
moneromooo-monero f34e2e20bd performance_tests: add tx checking tests with more than 2 outputs 2018-09-11 13:37:27 +00:00
moneromooo-monero 0793184bd0 performance_tests: add a --verbose flag, and default to terse 2018-09-11 13:37:26 +00:00
moneromooo-monero 939bc22332 add Straus multiexp 2018-09-11 13:37:25 +00:00
moneromooo-monero 9ff6e6a0a7 ringct: add bos coster multiexp 2018-09-11 13:37:24 +00:00
moneromooo-monero e9164bb38b bulletproofs: misc optimizations
Use double mults where possible, avoid conversions, simplify
2018-09-11 13:37:23 +00:00
moneromooo-monero 112f32f068 performance_tests: add crypto ops 2018-09-11 13:37:22 +00:00
moneromooo-monero f5d7b9933a performance_tests: add bulletproofs 2018-09-11 13:37:21 +00:00
moneromooo-monero 8f4ce989c2 performance_tests: add RingCT MLSAG gen/ver tests 2018-09-11 13:37:19 +00:00
moneromooo-monero 1aa10c4364 performance_tests: add (Borromean) range proofs 2018-09-11 13:37:18 +00:00
moneromooo-monero aacfd6e370 bulletproofs: multi-output bulletproofs 2018-09-11 13:37:17 +00:00
moneromooo-monero cb1cc757ba performance_tests: don't override log level to 0 2018-09-11 13:37:16 +00:00
moneromooo-monero a54dbaee08 blockchain_blackball: add --force-chain-reaction-pass flag 2018-09-10 09:04:21 +00:00
moneromooo-monero 44439c3208 record blackballs as amount/offset, and add export ability 2018-09-10 09:04:18 +00:00
moneromooo-monero 8501b8dffb crypto_ops_builder: link to EdDSA/Ed25519 draft RFC
instead of including the text, as it's not fully free to redistribute
2018-09-09 16:18:49 +00:00
moneromooo-monero 03c07b167d rpc: return "already mining" in start_mining if already mining 2018-09-09 15:27:30 +00:00
moneromooo-monero 4bce935b40 blockchain_blackball: more optimizations 2018-09-09 12:03:02 +00:00