moneromooo-monero
ff429c09b7
gpg_keys: bump my key's expiration to 5 years
...
I had missed the subkey in my recent bump
2025-05-08 17:20:06 +00:00
moneromooo-monero
59c0841b1c
gpg_keys: bump my key's expiration date by another five years
2024-11-17 20:13:10 +00:00
moneromooo-monero
9f80797086
protocol: drop peers sending duplicate txes
2023-06-07 06:56:21 +00:00
moneromooo-monero
24d56c5975
bump lmdb sync threshold for performance
...
Force sync every 100k blocks instead of every 1k blocks. Bumping this
value is reported to make a big difference in sync performance, eg:
https://github.com/monero-project/monero/issues/8189
2023-05-05 18:07:44 +00:00
moneromooo-monero
7a4a03d9d3
wallet2: do not commit transactions more than once
...
Fixes #8793
2023-03-21 21:05:53 +00:00
moneromooo-monero
724441a782
link against libz on non Apple/Windows
...
Needed by libcrypto at least
2023-03-21 14:36:48 +00:00
moneromooo-monero
d7a81ccba1
p2p: do not log to global when re-blocking a subnet
2023-03-09 17:17:59 +00:00
moneromooo-monero
d84a0d7430
p2p: avoid spam blocking ipv4 addresses in a blocked subnet
2023-03-01 16:56:56 +00:00
moneromooo-monero
11a836074d
simplewallet: print fully qualified filename for new wallets
...
from time to time, some people don't realize their wallets get
created in their current working directory
2023-02-24 10:22:48 +00:00
moneromooo-monero
ac9a8978ca
Revert "epee: when loading a JSON RPC payload, ensure params is an object"
...
This reverts commit b67e931843 .
This turns out to be a bad idea, because we do have weird RPC which
do actually go counter to this
2023-02-07 12:12:02 +00:00
moneromooo-monero
9e09093a8d
wallet_rpc_server: allow creating more than 64 addresses at once
...
it's too low a limit (at least one person mentioned having to
call create_address in a loop due to it)
2023-02-03 16:57:48 +00:00
moneromooo-monero
d89e7a239d
util: make GMT timestamps explicit for clarity
...
For privacy reasons, time functions use GMT, to avoid logs leaking
timezones. It'd make more sense to use localtime for wallet output
(which are not logged by default), but that adds inconsistencies
which can also be confusing. So add a Z suffix for now to make it
clear these are not local time.
2023-01-01 10:38:13 +00:00
moneromooo-monero
bfd7c00ced
heed NO_COLOR environment variable
2023-01-01 10:24:46 +00:00
moneromooo-monero
b67e931843
epee: when loading a JSON RPC payload, ensure params is an object
...
this makes it easier to spot those mistakes by the caller
2023-01-01 10:10:28 +00:00
moneromooo-monero
934b798c74
rpc: do not misidentify coinbase txes as pruned
2023-01-01 09:30:59 +00:00
moneromooo-monero
832173a490
gpg_keys: bump my key validity by another two years
2022-11-17 17:45:14 +00:00
moneromooo-monero
959a3e627f
wallet2: ensure imported outputs subaddresses are created
...
reported by j-berman
2022-08-24 13:52:36 +00:00
moneromooo-monero
a0985044d9
wallet2: better test on whether to allow output import
...
Being offline is not a good enough heuristic, so we keep track
of whether the wallet ever refreshed from a daemon, which is a
lot better, and probably the best we can do without manual user
designation (which would break existing cold wallet setups till
the user designates those wallets)
2022-08-18 19:29:03 +00:00
moneromooo-monero
c5579ac236
allow exporting outputs in chunks
...
this will make it easier huge wallets to do so without hitting
random limits (eg, max string size in node).
2022-08-18 06:53:41 +00:00
moneromooo-monero
692f1d4e3d
wallet2: do not assume imported outputs must be non empty
2022-08-16 14:22:33 +00:00
moneromooo-monero
67b6d6ae2c
wallet2: prevent importing outputs in a hot wallet
2022-08-16 14:22:33 +00:00
moneromooo-monero
d9fc666db8
wallet2: fix missing subaddress indices in "light" exported outputs
2022-08-16 14:22:24 +00:00
moneromooo-monero
d06202dcc0
blockchain_prune: faster
...
on my anecdotal SSD, goes from about 9 hours to 1h20.
2022-08-15 16:16:18 +00:00
moneromooo-monero
e0b3507c88
tests: update block_weight for 2021 scaling
...
the test was still performed with consensus rules from before
that change
2022-08-08 06:04:54 +00:00
moneromooo-monero
600de07bcf
wallet_rpc_server: longer timeout for stop_mining
...
That RPC will wait for mining to actually stop, which can be a while
if randomx has just started on randomx_init_dataset.
This fixes occasional failures in the mining functional test
2022-07-21 12:00:05 +00:00
moneromooo-monero
ac6db928c2
functional_tests: silence the cpu power test program
...
it's very spammy and drowns the test output
2022-07-21 12:00:05 +00:00
moneromooo-monero
7a31d25b67
keccak: error out if passed mdlen 100
...
If we were to call it with 100, it would cause rsiz to be 0,
leading to an infinite loop.
This is really a pedantic patch, but since there's already a
range test, might as well make it better.
2022-07-11 17:43:59 +00:00
moneromooo-monero
a46b6ba25c
contrib: add more valgrind suppressions for spurious issues
2022-06-21 11:35:03 +00:00
moneromooo-monero
7f3e31d797
unit_tests: fix accessing invalid memory in tree_hash test
2022-06-21 11:34:26 +00:00
moneromooo-monero
4278a3a7e3
cryptonote_basic: catch crypto api errors
2022-06-20 22:17:57 +00:00
moneromooo-monero
23fde151ee
wallet_rpc_server: chunk refresh to keep responding to RPC while refreshing
2022-06-03 07:15:15 +00:00
moneromooo-monero
5bb2369b55
wallet_rpc_server: add --no-initial-sync flag for quicker network binding
2022-05-25 09:02:27 +00:00
moneromooo-monero
2979474221
disable multisig by default
...
There are vulnerabilities in multisig protocol if the parties do not
trust each other, and while there is a patch for it, it has not been
throroughly reviewed yet, so it is felt safer to disable multisig by
default for now.
If all parties in a multisig setup trust each other, then it is safe
to enable multisig.
2022-05-17 19:52:03 +00:00
moneromooo-monero
fde7c96b5c
wallet2: fix spurious reorg detection with untrusted nodes
...
When forced to deal with an untrusted node, a wallet will quantize
its current height to disguise the real height to the adversary, to
try and minimize the daemon's ability to distinguish returning
wallets.
Daemons will thus return more blocks than the wallet needs, starting
from earlier in the chain. These extra blocks will be disregarded
by the wallet, which had already scanned them.
However, for the purposes of reorg size detection, the wallet assumes
all blocks the daemon sends are different, which is only correct if
the wallet hasn't been coy, which is only the case for trusted
daemons (which you should use). This causes an issue when the size
of this "fake reorg" is above the sanity check threshold at which
the wallet refuses a reorg.
To fix this, the reorg size check is moved later on, when the reorg
is about to actually happen, after the wallet has checked which
blocks are actually different from the ones it expects.
2022-05-15 11:57:37 +00:00
moneromooo-monero
df2e680825
wallet2: speedup large tx construction: reserve vector memory
...
2.8 seconds -> 2.6 seconds on a test case
2022-05-13 17:43:22 +00:00
moneromooo-monero
c9cf0b78f8
wallet2: speedup large tx construction: cache public key validity
...
5.9 second -> 5.2 seconds on a test case
2022-05-13 17:43:16 +00:00
moneromooo-monero
9209880e9c
add a sanity check to RPC input data size
...
reported by m31007
2022-04-21 22:22:56 +00:00
moneromooo-monero
9df7179aaf
wallet2: use BP+ for cold signing
...
reported by ukoehb
2022-04-10 21:03:09 +00:00
moneromooo-monero
b030f20751
Fee changes from ArticMine
...
https://github.com/ArticMine/Monero-Documents/blob/master/MoneroScaling2021-02.pdf
with a change to use 1.7 instead of 2.0 for the max long term increase rate
2022-04-10 18:13:34 +00:00
moneromooo-monero
9f786f0550
epee: allow copying a rolling_median_t object
2022-04-10 18:13:31 +00:00
moneromooo-monero
5acdd0e2cb
bulletproofs+: some minor cleanup from vtnerd's review
2022-04-05 18:50:23 +00:00
moneromooo-monero
4c94cfecfc
store outPk/8 in the tx for speed
...
It avoids dividing by 8 when deserializing a tx, which is a slow
operation, and multiplies by 8 when verifying and extracing the
amount, which is much faster as well as less frequent
2022-04-05 18:50:22 +00:00
moneromooo-monero
a345060ace
ringct: port some of vtnerd's review changes from BP+ to BP
2022-04-05 18:50:21 +00:00
moneromooo-monero
75bd004f4e
ringct: a few minor optimizations from review
2022-04-05 18:50:21 +00:00
moneromooo-monero
a0d80b1f95
plug bulletproofs plus into consensus
2022-04-05 18:50:17 +00:00
moneromooo-monero
ae0a840fda
wallet2: decrease the amount of data exchanged for output export
2022-03-29 08:40:32 +00:00
moneromooo-monero
7dcfccbaaf
wallet_rpc_server: fix make_integrated_address with no payment id
2022-03-11 17:23:19 +00:00
moneromooo-monero
06e6c8bf4a
crypto: fix constant randomx exceptions in large page allocator
...
If allocating large pages fails, we don't try again.
This has the obvious drawback of not being able to use large pages
if they fail once.
2022-02-19 13:15:10 +00:00
moneromooo-monero
bbe3b276b8
tx_pool: full tx revalidation on fork boundaries
...
avoids mining txes after a fork that are invalid by this fork's
rules, but were valid by the previous fork rules at the time
they were verified and added to the txpool.
2021-11-01 20:56:38 +00:00
moneromooo-monero
e8e507f36f
rpc: fix DoS vector in get_output_distribution
...
This will prevent people spending old pre-rct outputs using a
stranger's node, which may be a good thing
2021-10-24 17:17:12 +00:00
moneromooo-monero
1f81f5f5c1
protocol: fix spurious rejection of downloaded blocks
...
when kicking a peer for inactivity, clear the set of requested blocks,
or next time we requests blocks from it, we'll probably reject the
incoming blocks due to missing the previous requested blocks
2021-10-21 20:34:06 +00:00
moneromooo-monero
2cad563060
wallet2: fix key encryption when changing ask-password from 0/1 to 2
...
we reuse the wallet_keys_unlocker object, which does the right thing
in conjunction with other users of decrypt/encrypt (ie, refresh).
2021-10-19 22:01:45 +00:00
moneromooo-monero
75d05b9448
download: fix leak
...
A shared_ptr as by value capture will keep the object alive
2021-10-10 19:14:17 +00:00
moneromooo-monero
807cbcdbf8
easylogging++: fix missing logs
2021-09-23 20:29:22 +00:00
moneromooo-monero
5eaedb51b9
unit_tests: fix use after free in serialization test
2021-09-08 01:03:34 +00:00
moneromooo-monero
7354ffb8a7
p2p: remove blocked addresses/hosts from peerlist
2021-08-05 17:29:25 +00:00
moneromooo-monero
90d6bed804
cmake: bodge cmake failure on OSS-Fuzz
2021-07-31 19:22:57 +00:00
moneromooo-monero
0c6e1d343e
wallet2: chunk get_outs.bin calls to avoid sanity limits
2021-07-15 17:25:07 +00:00
moneromooo-monero
d689b946f9
protocol: fix delayed "you are now synchronized..." message
2021-06-21 15:37:40 +00:00
moneromooo-monero
4251cc0b4d
unit_tests: check for ge_frombytes_vartime failure
...
CID 1446559
2021-06-11 07:51:45 +00:00
moneromooo-monero
67b97a5f16
easylogging++: do not delete uninitialized objects
...
CID 1446562
2021-06-11 07:51:29 +00:00
moneromooo-monero
7b6d959596
trezor: fix potential use of uninitialized memory
...
CID 1446575
2021-06-11 07:11:23 +00:00
moneromooo-monero
b8b054c0f1
python-rpc: add missing python api for new freeze/thaw/frozen RPC
2021-06-11 07:00:27 +00:00
moneromooo-monero
ed6f05357c
blockchain: speed up repeated pops (mostly in tests)
...
The heavy rolling median reset only has to be performed after
all blocks are popped
2021-04-26 14:07:35 +00:00
moneromooo-monero
2b918068cc
protocol: remove unreachable code
2021-04-17 15:22:26 +00:00
moneromooo-monero
4da1112967
rpc: send confirmations in get_transactions result
...
if the wallet does it, it would get a wrong result (possibly even
negative) if its local chain is not synced up to the daemon's yet
2021-04-15 15:31:52 +00:00
moneromooo-monero
57edfd78fd
p2p: allow CIDR notation in DNS blocklist
2021-03-30 08:57:04 +00:00
moneromooo-monero
a16328e853
easylogging++: in place log sanitization
...
saves an object ctor/dtor per log
2021-03-29 22:26:46 +00:00
moneromooo-monero
447bfae2a4
wallet2: fix unlocked mixup in light wallet mode
2021-03-25 09:33:40 +00:00
moneromooo-monero
5a2edea16b
db_lmdb: catch exceptions testing for mmap support
...
Turns out at least one arch (armel based) does not have unique_path
implemented and throws
2021-03-25 09:24:45 +00:00
moneromooo-monero
f6e2636493
blockchain_db: harden code against invalid input types
...
If an invalid input type were to get to this, the code could
remove key images that might be present already in the chain,
which could allow a double spend, even if this is impossible
with the current code.
Reported by KeyboardWarrior.
2021-03-24 21:43:57 +00:00
moneromooo-monero
3bd3a44aac
python-rpc: add function for new scan_tx RPC
2021-03-20 17:40:46 +00:00
moneromooo-monero
71741a1ed6
blockchain_import: fix wrong reported block/tx hashes on error
2021-03-19 11:04:24 +00:00
moneromooo-monero
254a1338ad
core: speed up print_coinbase_tx_sum
...
It only needs to parse the tx headers, not the full tx data
2021-03-18 11:16:08 +00:00
moneromooo-monero
c24f185196
README: step by step detail for rpi setup commands
2021-03-11 18:28:01 +00:00
moneromooo-monero
064eeb2861
wallet_rpc_server: set seed language in generate_from_keys
...
Also sanity check language name
2021-03-06 10:26:15 +00:00
moneromooo-monero
f9b5b521e8
fix serialization being different on mac
...
On Mac, size_t is a distinct type from uint64_t, and some
types (in wallet cache as well as cold/hot wallet transfer
data) use pairs/containers with size_t as fields. Mac would
save those as full size, while other platforms would save
them as varints. Might apply to other platforms where the
types are distinct.
There's a nasty hack for backward compatibility, which can
go after a couple forks.
2021-03-05 23:42:33 +00:00
moneromooo-monero
b5209a09d2
functional_tests: hide check_missing_rpc_methods behind requests check
2021-02-23 20:10:03 +00:00
moneromooo-monero
035e474912
README: update libzmq minimum version to 4.2.0 for zmq_send_const
2021-02-23 19:47:57 +00:00
moneromooo-monero
556af11d3b
epee: return HTTP error 400 (Bad request) on deserialization error
...
It's better than 404 (Not found)
2021-02-23 18:55:08 +00:00
moneromooo-monero
5984277fe3
python-rpc: adapt urlparse for python3
2021-02-23 11:43:22 +00:00
moneromooo-monero
8889f490ce
easylogging++: fix potential memory corruption
...
The m_typedConfigurations pointer is copied from one object to the next,
but deleted in the dtor, leading to potential double free. It is also
deleted first thing in the copy ctor, deleting uninitialized memory.
This does not seem to actually happen in practice (those functions do
not get called), but seems safer that way.
Coverity 1446562
2021-02-16 09:43:18 +00:00
moneromooo-monero
d643a865f3
p2p: add --max-connections-per-ip daemon option
...
Helps daemons behind a proxy get more than one connection.
Defaults to 1 (no change)
2021-02-15 19:08:07 +00:00
moneromooo-monero
494f2e1c21
rpc: fix some error return codes/status
...
Some RPC return an error string in status, and the code must return
true on error (with a status string).
2021-02-15 12:27:19 +00:00
moneromooo-monero
19b228393f
New add_aux_pow RPC to support merge mining
2021-02-09 11:58:21 +00:00
moneromooo-monero
c26cca6f14
console: fix syntax for python3
2021-01-18 22:23:34 +00:00
moneromooo-monero
f10c9a16c4
remove obsolete pruning debug code
2021-01-08 15:41:59 +00:00
moneromooo-monero
372754a66e
storages: overridable limits for loading portable_storage from binary
2021-01-07 20:24:29 +00:00
moneromooo-monero
b9092ddb5c
epee: also limit number of strings in portable_storage
...
They require at least 24 bytes
2021-01-05 17:54:25 +00:00
moneromooo-monero
f815740403
p2p: make REQUEST_SUPPORT_FLAGS optional, pass flags in node data
...
removes a back and forth on connect, and the RPC can be removed
once all peers have updated
2021-01-04 13:33:34 +00:00
moneromooo-monero
daf023de6e
epee: don't log raw packet data
2021-01-03 14:41:01 +00:00
moneromooo-monero
b652d598d1
add a max levin packet size by command type
2021-01-03 14:07:45 +00:00
moneromooo-monero
4e74385a1a
fix accessing an network address in a deleted context
...
Both drop_connection and add_host_fail can drop the connection,
which invalidates the context, and thus the address it contains.
Thanks to wfaressuissia[m] for lots of help and prodding when
debugging this
2021-01-03 13:04:55 +00:00
moneromooo-monero
1e27f7101e
blockchain: lock access to m_blocks_hash_of_hashes
...
it is accessed both when adding and when prevalidating a set
of new hashes from a peer
2021-01-02 22:19:54 +00:00
moneromooo-monero
38a6e6eb26
protocol: handle receiving a block hash we've not added yet
2021-01-02 22:10:31 +00:00
moneromooo-monero
5cd6fda1ee
portable_storage: better sanity checking
2021-01-02 12:34:28 +00:00
moneromooo-monero
c5c278c339
p2p: only log to global when a blocked IP is not already blocked
2021-01-01 19:54:51 +00:00
moneromooo-monero
f208d98492
p2p: ignore empty IP from DNS block list
...
ie, if the list ends in ;
2021-01-01 12:30:45 +00:00
moneromooo-monero
0aa541b361
protocol: more sanity checks in new chain block hashes
2020-12-31 23:33:18 +00:00
moneromooo-monero
ab5e185140
protocol: fix wrong command in logs
...
this is not a levin packet, this is just its payload
2020-12-30 21:08:28 +00:00