Age | Commit message (Collapse) | Author | Files | Lines |
|
613071f use memwipe on secret k/alpha values (moneromooo-monero)
|
|
Reported by UkoeHB_ and sarang
|
|
|
|
4ed60b6 Bulletproofs: verification speedup (SarangNoether)
|
|
d2d3a81 bootstrap_daemon: fix missing virtual destructor and lambda capture (clang warning) (xiphon)
|
|
27d551d simplewallet: add sweep_account command (moneromooo-monero)
|
|
e509ede trezor: adapt to new passphrase mechanism (ph4r05)
|
|
b367630 simplewallet : missing function block separator (sumogr)
|
|
145be6d p2p: startup speedup, init seed nodes on first 'connect_to_seed()' (xiphon)
|
|
7c4a400 simplewallet: fix strings (show_transfers & export_transfers) (sumogr)
|
|
688a3e8 Add timelock verification on device (cslashm)
|
|
da99157 Use byte_slice for sending zmq messages - removes data copy within zmq (vtnerd)
|
|
|
|
- choice where to enter passphrase is now made on the host
- use wipeable string in the comm stack
- wipe passphrase memory
- protocol optimizations, prepare for new firmware version
- minor fixes and improvements
- tests fixes, HF12 support
|
|
|
|
79a1653 p2p: add seed node. (guywillett)
|
|
5715460 Always reject duplicate key-images from second txid (vtnerd)
babf25d Allow unrestricted rpc calls to get full txpool info (vtnerd)
|
|
09abca7 wallet_api: checkUpdate - optional version and buildtag params (xiphon)
|
|
5ef7138 daemon: fix print_net_stats RPC calls (moneromooo-monero)
|
|
|
|
87d7558 Allow wallet2.h to run in WebAssembly (woodser)
|
|
387fd66 Daemon: Print estimates for time until fully synced (rbrunner7)
|
|
warning)
|
|
- Add abstract_http_client.h which http_client.h extends.
- Replace simple_http_client with abstract_http_client in wallet2,
message_store, message_transporter, and node_rpc_proxy.
- Import and export wallet data in wallet2.
- Use #if defined __EMSCRIPTEN__ directives to skip incompatible code.
|
|
|
|
Expects an account number, then the usual sweep_all options
Useful to move monero that was accidentally sent to a subaddress
with a very large account index.
|
|
8d23047 p2p: add another seed node (moneromooo-monero)
|
|
5de2295 Correct key image check in tx_pool (vtnerd)
|
|
69b5992 simplewallet: new 'address one-off <major> <minor>' command (moneromooo-monero)
|
|
8958b4e blockchain_db: faster fetching of consecutive txes (moneromooo-monero)
|
|
927fd47 simplewallet: fix smart mining not starting after first setup (moneromooo-monero)
|
|
|
|
|
|
|
|
|
|
ad13a4b Fixing static_asserts in ZMQ JSON (vtnerd)
|
|
ec01077 db_lmdb: fix race crash using a stale cursor (moneromooo-monero)
|
|
e719760 Fix receive order leakage with tx fluffing (vtnerd)
|
|
ebf3c10 Added logging for dropped local txes with no i2p/tor connections (vtnerd)
|
|
7b9017f p2p: plug tor to clearnet association vector (Aaron Hook)
|
|
6e1cb5a device: Ledger - fix wide char hidapi error string conversion (xiphon)
|
|
68a6507 Fixed bug in ZMQ JSON-RPC method field (vtnerd)
|
|
42a7a4d daemon: auto public nodes - cache and prioritize most stable nodes (xiphon)
|
|
6810150 daemon: if no banned IPs print something (sumogr)
|
|
81c5943 Remove temporary std::string creation in some hex->bin calls (vtnerd)
5fcc23a Move hex->bin conversion to monero copyright files and with less includes (vtnerd)
3387f0e Reduce template bloat in hex->bin for ZMQ json (vtnerd)
|
|
fcb06f7 cryptonote_core: skip block notify on blockchain switching rollback (xiphon)
|
|
82da832 rpc: Add check for too old timestamps in payment signatures. (glv2)
|
|
c61abf8 remove empty statements (shopglobal)
|
|
80d5320 Hash domain separation (SarangNoether)
|
|
cc18926 wallet2_api: wallet recovery - seed offset passphrase support (xiphon)
|
|
9bde70e core: mention time being off in hash rate changes message (moneromooo-monero)
|
|
29b7cd1 device_ledger: include status code name in error message (xiphon)
|
|
1a6e7bd wallet2: mention --daemon-ssl-allow-any-cert in --proxy error msg (xiphon)
|
|
6d6af70 cryptonote_basic: drop unused verification_context::m_not_rct field (xiphon)
|
|
|
|
|
|
|
|
|
|
When a handshake fails, it can fail due to timeout or destroyed
connection, in which case the connection will be, or already is,
closed, and we don't want to do it twice.
Additionally, when closing a connection directly from the top
level code, ensure the connection is gone from the m_connects
list so it won't be used again.
AFAICT this is now clean in netstat, /proc/PID/fd and print_cn.
This fixes a noisy (but harmless) exception.
|
|
760ecf2 console_handler: do not let exception past the dor (moneromooo-monero)
09c8111 threadpool: lock mutex in create (moneromooo-monero)
e377977 tx_pool: catch theoretical error in get_block_reward (moneromooo-monero)
|
|
3627e53 rpc: fix print_pool_sh not finding local txes (moneromooo-monero)
|
|
2e9d1e6 wallet2: fix store-tx-info loading (moneromooo-monero)
|
|
dab604e wallet2_api: implement estimateTransactionFee (xiphon)
|
|
9989cb0 simplewallet: warn about correlations if print-ring-members is not set (moneromooo-monero)
|
|
fe92fa1 [randomx] Add missing randomx_vm_set_cache() (cohcho)
|
|
320bc84 rpc: add --rpc-payment-allow-free-loopback (moneromooo-monero)
|
|
054b4c7 protocol: request txpool contents when synced (moneromooo-monero)
|
|
|
|
|
|
|
|
The warning about spending more than one output with similar creation
time was skipped if print-ring-members was not set, and it defaults to
false, which means most people probably aren't getting this warning if
they spend correlated outputs.
Reported by SeventhAlpaca.
|
|
Node from syksy, administered by mooo
|
|
9c1f970b wallet2: remember daemon address overrides when loading a new wallet (moneromooo-monero)
|
|
50e59cfa wallet2: reject zero keys in json input (moneromooo-monero)
|
|
bcae95a2 p2p: do not add recently failed addresses to the peerlist (moneromooo-monero)
|
|
ffe7165e wallet: reroll fake outs selection on local tx_sanity_check failure (xiphon)
|
|
0349347e ringdb: use a different iv for key and data in rings table (moneromooo-monero)
7b882087 simplewallet: reword mixin in user message in terms of ring size (moneromooo-monero)
f507a43a wallet2: do not remove known rings when a tx fails (moneromooo-monero)
|
|
d0641b42 net: fix incorrect less operator for top/i2p addresses (Aaron Hook)
|
|
02224e71 Fix check_fee() discrepancy. (UkoeHB)
|
|
a84131ce p2p: fix off by one adding fallback peers (moneromooo-monero)
|
|
66472074 Daemon: Guard against reporting "synchronized" too early (rbrunner7)
|
|
b818522d p2p: fix spurious warning when we're connected to at last one seed (moneromooo-monero)
|
|
36bdf402 p2p: fix adding wrong indices to the filtered peer list (moneromooo-monero)
|
|
aa93e388 p2p: remove old debug commands (Aaron Hook)
|
|
f8d76f39 core: move the LockedTXN class out of txpool so it may be reused (moneromooo-monero)
|
|
- New flag in NOTIFY_NEW_TRANSACTION to indicate stem mode
- Stem loops detected in tx_pool.cpp
- Embargo timeout for a blackhole attack during stem phase
|
|
A newly synced Alice sends a (typically quite small) list of
txids in the local tpxool to a random peer Bob, who then uses
the existing tx relay system to send Alice any tx in his txpool
which is not in the list Alice sent
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for example, in the RPC server
|
|
This allows RPC coming from the loopback interface to not have
to pay for service. This makes it possible to run an externally
accessible RPC server for payment while also having a local RPC
server that can be run unrestricted and payment free.
|
|
0f78b06e Various improvements to the ZMQ JSON-RPC handling: (Lee Clagett)
|
|
a6c24412 wallet: fix exceptions getting the hash of a pruned tx (moneromooo-monero)
|
|
4771a7ae p2p: remove obsolete local time in handshake (moneromooo-monero)
2fbbc4a2 p2p: avoid sending the same peer list over and over (moneromooo-monero)
3004835b epee: remove backward compatible endian specific address serialization (moneromooo-monero)
39a343d7 p2p: remove backward compatible peer list (moneromooo-monero)
60631802 p2p: simplify last_seen serialization now we have optional stores (moneromooo-monero)
9467b2e4 cryptonote_protocol: omit top 64 bits of difficulty when 0 (moneromooo-monero)
b595583f serialization: do not write optional fields with default value (moneromooo-monero)
5f98b46d p2p: remove obsolete local time from TIMED_SYNC (moneromooo-monero)
|
|
If a db resize happened, the txpool meta cursor might be stale,
and was not being renewed when necessary.
It would cause this SEGSEGV:
in mdb_cursor_set ()
in mdb_cursor_get ()
in cryptonote::BlockchainLMDB::get_txpool_tx_blob(crypto::hash const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, cryptonote::relay_category) const ()
in cryptonote::tx_memory_pool::get_transaction(crypto::hash const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, cryptonote::relay_category) const ()
in cryptonote::t_cryptonote_protocol_handler<cryptonote::core>::handle_notify_new_fluffy_block(int, epee::misc_utils::struct_init<cryptonote::NOTIFY_NEW_FLUFFY_BLOCK::request_t>&, cryptonote::cryptonote_connection_context&) ()
|
|
|
|
|
|
|
|
During the handshake for an incoming connection, the peer id is checked against the local node's peer id only for the specific zone of the incoming peer, in order to avoid linking public addresses to tor addresses:
https://github.com/monero-project/monero/blob/5d7ae2d2791c0244a221872a7ac62627abb81896/src/p2p/net_node.inl#L2343
However, on handshakes for outgoing connections, all zones are checked:
https://github.com/monero-project/monero/blob/5d7ae2d2791c0244a221872a7ac62627abb81896/src/p2p/net_node.inl#L1064
If an attacker wanted to link a specific tor node to a public node, they could potentially connect to as many public nodes as possible, get themselves added to the peer whitelist, maybe stuff some more attacker-owned addresses into the greylist, then disconnect, and for any future incoming connections, respond with the tor node's id in an attempt to link the public/tor addresses.
|
|
|
|
|
|
- Finding handling function in ZMQ JSON-RPC now uses binary search
- Temporary `std::vector`s in JSON output now use `epee::span` to
prevent allocations.
- Binary -> hex in JSON output no longer allocates temporary buffer
- C++ structs -> JSON skips intermediate DOM creation, and instead
write directly to an output stream.
|
|
|
|
21c3d42e p2p: drop the peerlist dump to TRACE (moneromooo-monero)
|
|
f717d593 wallet2: guard against race with multiple decrypt_keys users (moneromooo-monero)
|
|
a6a2ad6c simplewallet: set manual refresh mode in rescan_bc (moneromooo-monero)
|
|
88b82bef simplewallet: point to "set help" in the lock screen message (moneromooo-monero)
f19c9f23 util: allow newlines in string to be split (moneromooo-monero)
|
|
69336931 rpc: fill miner_tx_hash again (moneromooo-monero)
|
|
716012ca rpc: drop the obsolete and wrong "unpruned size" log (moneromooo-monero)
|
|
ae84ec90 wallet-cli/rpc: allow sweep_all to use outputs in all subaddresses within an account (stoffu)
|
|
bc6d8aa3 Corrected message typo (palomato)
|
|
5cbb17b9 wallet2: fix hang in wallet refresh (moneromooo-monero)
|
|
987c3139 print_coinbase_tx_sum now supports 128 bits sums (moneromooo-monero)
|
|
d93e1dff simplewallet: warn on refresh if refresh-from-block-height seems off (moneromooo-monero)
|
|
c3613031 Silence miner debugmsg spam (Howard Chu)
|
|
72ca7e3b Fix time comparison math (Jason Rhinelander)
|
|
a2578892 --disable-ban-rpc option to prevent RPC users from banning (naughtyfox)
|
|
94266eeb simplewallet: fix output age display with duplicate heights (moneromooo-monero)
f1d379d2 simplewallet: fix "outputs in same tx" detector (moneromooo-monero)
|
|
5985c5af rpc: add bad-blocks to flush_cache RPC (moneromooo-monero)
|
|
ef95a76d remove unused variable 'ptx' from on_describe_transfer() (woodser)
|
|
|
|
Useful for wallet refresh or node sync
|
|
|
|
5f2a32c daemon: run with -rpc-payment-address and --rpc-restricted-bind-port (moneromooo-monero)
|
|
f812783 simplewallet: fix encrypted payment id note triggering on dummy ones (moneromooo-monero)
|
|
316ab7b wallet2: better error when restoring a wallet with the wrong keys (moneromooo-monero)
|
|
096a9db Wallet: Distingush amounts for a single subaddress (tmoravec)
|
|
|
|
Cleaning up a little around the code base.
|
|
|
|
Also avoid rewriting the wallet if the setting is already was we need
|
|
Coverity 196626
|
|
In some contrived case, it might theoretically be the case that
destroy is called from another thread, which would modify the
threads array from two threads.
Coverity 208372
|
|
|
|
|
|
|
|
|
|
|
|
This avoids lengthy init times when testing
|
|
3813a992 download: catch exceptions checking for size (moneromooo-monero)
|
|
7ac7d5d3 updates: fix source code URL on _WIN32 (selsta)
|
|
67b4a19e simplewallet: noob-friendly help menu (wowario)
|
|
4b384003 wallet2: don't try to lock an empty filename (moneromooo-monero)
|
|
b328de6b wallet_rpc_server: add tx weight in transfer commands responses (moneromooo-monero)
|
|
a633f85d daemon: allow printing N blocks from the end of the chain (moneromooo-monero)
|
|
7ba31191 daemon: add +meta print_tx parameter (moneromooo-monero)
|
|
236d2a88 blockchain_stats: make it work on pruned blockchains (moneromooo-monero)
|
|
b9fc2066 Add a --keep-fakechain option to keep fakechain databases (JamesWrigley)
|
|
22d30866 simplewallet: add missing inactivity-lock-timeout to set help blurb (moneromooo-monero)
9f57f0df simplewallet: do not mention inactivity if a lock was manual (moneromooo-monero)
|
|
d64e5aa7 wallet: allow message sign/verify for subaddresses (moneromooo-monero)
|
|
deb350b7 always print peer IDs in the same format (moneromooo-monero)
|
|
65301c40 core: point out when we hit the block rate visibility limit (moneromooo-monero)
|
|
2f8f3a94 rpc: base flush_cache request/response on the new base structs (moneromooo-monero)
|
|
b90c4bc3 rpc: error out from get_info if the proxied call errors out (moneromooo-monero)
fa16df99 make_test_signature: exit nicely on top level exception (moneromooo-monero)
054b2621 node_rpc_proxy: init some new rpc payment fields in invalidate (moneromooo-monero)
d0faae2a rpc: init a few missing client_info members (moneromooo-monero)
d56a483a rpc: do not propagate exceptions out of a dtor (moneromooo-monero)
3c849188 rpc: always set the update field in update on sucess (moneromooo-monero)
|
|
8a27645 blockchain: fix flushing txes from the txpool (moneromooo-monero)
|
|
|
|
Also removes a potential fingerprinting vector
|
|
Nodes remember which connections have been sent which peer addresses
and won't send it again. This causes more addresses to be sent as
the connection lifetime grows, since there is no duplication anymore,
which increases the diffusion speed of peer addresses. The whole
white list is now considered for sending, not just the most recent
seen peers. This further hardens against topology discovery, though
it will more readily send peers that have been last seen earlier
than it otherwise would. While this does save a fair amount of net
bandwidth, it makes heavy use of std::set lookups, which does bring
network_address::less up the profile, though not too aggressively.
|
|
|
|
|
|
|
|
|
|
08635a08 blockchain: speedup fetching pruned contiguous tx blobs (moneromooo-monero)
|
|
56a4469e network: log traffic and add a simple traffic analysis script (moneromooo-monero)
|
|
|
|
|
|
|
|
2e58eb5c lmdb: Remove meaningless const qualifier on function type (Nathan Dorfman)
|
|
8231c7cd rpc: fix bootstrap RPC payment RPC being made in raw JSON, not JSON RPC (moneromooo-monero)
81c26589 rpc: don't auto fail RPC needing payment in bootstrap mode (moneromooo-monero)
|
|
d7cf8727 rpc: add received_timestamp for pool txes in gettransactions (moneromooo-monero)
|
|
402dd207 db_lmdb: guard against non NUL terminated keys (moneromooo-monero)
|
|
3b419333 wallet: don't issue node rpc proxy requests in '--offline' mode (xiphon)
|
|
24adee4a p2p: don't request flags after closing connection (moneromooo-monero)
|
|
70c9cd3c Change to Tx diffusion (Dandelion++ fluff) instead of flooding (Lee Clagett)
|
|
9fe8a76c perf_timer: fix pause/resume macros dereferencing too much (moneromooo-monero)
|
|
The backward compatibility code was always setting it to 1
in modern wallets since store_tx_keys was not present and thus
assumed to be 1 by default.
Reported by SeventhAlpaca
|
|
|
|
|
|
0e0351c4 wallet_rpc_server: add count parameter to create_address (Matt Smith)
|
|
b9b5c473 threadpool: use std::move when taking an element off the queue (moneromooo-monero)
|
|
a7a40e28 Actually concatenate error strings. (Bert Peters)
|
|
b2ad757f Replace memset with memwipe. (Bert Peters)
|
|
6dec0013 simplewallet: fix restore height warning (selsta)
|
|
21d4c216 blockchain: error out if the builtin hashes data size is wrong (moneromooo-monero)
|
|
6f45cfa5 p2p: zero last seen timestamp when inserting a new peer (moneromooo-monero)
|
|
27522aaa core_tests: reset thread pool between tests (moneromooo-monero)
|
|
Because the user might do this for reasons unknown.
Values beyond l-1 will be reduced, so are accepted.
Reported by who-biz.
|
|
|
|
7c1d31b0 build: fix IOS, build blockchain_db and rpc, skip wallet_rpc_server (xiphon)
|
|
0de8a0d3 wallet_rpc_server: new estimate_tx_size_and_weight RPC (moneromooo-monero)
|
|
Adding a new `amounts` field ot the output of `get_transfers` RPC
method. This field specifies individual payments made to a single
subaddress in a single transaction, e.g., made by this command:
transfer <addr1> <amount1> <addr1> <amount2>
|
|
The added condition "hshd.current_height >= target" guards against
reporting "synchronized" too early in the special situation that the
very first peer sending us data is synced to a lower height than
ourselves.
|
|
This is technically a record encrypted in two pieces,
so the iv needs to be different.
Some backward compatibility is added to read data written
by existing code, but new data is written with the new code.
|
|
|
|
Even if it fails, the ring composition is known to a potential
adversary, and so we should reuse the same ring next time
|
|
M100 = max{300kb, min{100block_median, m_long_term_effective_median_block_weight}}
not
M100 = max{300kb, m_long_term_effective_median_block_weight}
Fix base reward in get_dynamic_base_fee_estimate().
get_dynamic_base_fee_estimate() should match check_fee()
Fee is calculated based on block reward, and the reward penalty takes into account 0.5*max_block_weight (both before and after HF_VERSION_EFFECTIVE_SHORT_TERM_MEDIAN_IN_PENALTY).
Moved median calculation according to best practice of 'keep definitions close to where they are used'.
|