aboutsummaryrefslogtreecommitdiff
path: root/tests/unit_tests (follow)
AgeCommit message (Collapse)AuthorFilesLines
2024-07-16Merge pull request #9353luigi11111-0/+57
32f3245 cryptonote_protocol: prevent duplicate txs in fluff queue (0xFFFC0000)
2024-07-16Merge pull request #9338luigi111178-78/+78
4a376d6 copyright: fix vector.h typo (hinto.janaiyo) d61e8e9 workflows: delete copyright.yml (plowsof) 341771a copyright: bump to 2024 (copyCat)
2024-07-16Merge pull request #8619luigi11111-0/+12
e71c8bf wallet: background sync with just the view key (j-berman)
2024-06-05cryptonote_protocol: prevent duplicate txs in fluff queue0xFFFC00001-0/+57
1. Fix duplicate transaction #9335 2. Add test for cases where there are duplicate transaction in fluff Co-authored-by: Boog900 <boog900@tutanota.com>
2024-05-24wallet: background sync with just the view keyj-berman1-0/+12
- When background syncing, the wallet wipes the spend key from memory and processes all new transactions. The wallet saves all receives, spends, and "plausible" spends of receives the wallet does not know key images for. - When background sync disabled, the wallet processes all background synced txs and then clears the background sync cache. - Adding "plausible" spends to the background sync cache ensures that the wallet does not need to query the daemon to see if any received outputs were spent while background sync was enabled. This would harm privacy especially for users of 3rd party daemons. - To enable the feature in the CLI wallet, the user can set background-sync to reuse-wallet-password or custom-background-password and the wallet automatically syncs in the background when the wallet locks, then processes all background synced txs when the wallet is unlocked. - The custom-background-password option enables the user to open a distinct background wallet that only has a view key saved and can be opened/closed/synced separately from the main wallet. When the main wallet opens, it processes the background wallet's cache. - To enable the feature in the RPC wallet, there is a new `/setup_background_sync` endpoint. - HW, multsig and view-only wallets cannot background sync.
2024-05-21add key exchange round booster to multisig_accountkoe1-20/+141
2024-05-21copyright: bump to 2024copyCat78-78/+78
2024-05-20Merge pull request #9305luigi11111-6/+7
de9c461 common: support boost filesystem copy_options. Co-authored-by: selsta <selsta@sent.at> (0xFFFC0000)
2024-05-20Merge pull request #9268luigi11111-0/+33
463228b Skip privacy networks (on tx sends) that don't have outgoing connections (Lee *!* Clagett)
2024-05-20Merge pull request #9257luigi11111-0/+92
d6609b8 serialization: do any N-tuple (jeffro256)
2024-05-20Merge pull request #9232luigi11113-191/+12
7194506 Blockchain: remove old fee calc logic (jeffro256)
2024-05-20Merge pull request #9194luigi11111-0/+5
9d101d5 serialization: protect blob serialization from undefined behavior (jeffro256)
2024-05-20Merge pull request #9151luigi11111-1/+1
ff49444 @tobtoht: undo rebase changes tx.dsts -> tx_dsts (jeffro256) 38f354e Enforce Tx unlock_time is Zero by Relay Rule (jeffro256)
2024-05-20Merge pull request #8396luigi11111-2/+7
a46b6ba contrib: add more valgrind suppressions for spurious issues (moneromooo-monero) 7f3e31d unit_tests: fix accessing invalid memory in tree_hash test (moneromooo-monero)
2024-05-20Merge pull request #7852luigi11111-14/+11
8d94d08 replace 'multisig()' with 'get_multisig_status()' using multisig_account_status and including '.kex_is_done' member (koe)
2024-04-30common: support boost filesystem copy_options.0xFFFC00001-6/+7
Co-authored-by: selsta <selsta@sent.at>
2024-03-29Skip privacy networks (on tx sends) that don't have outgoing connectionsLee *!* Clagett1-0/+33
2024-03-19serialization: do any N-tuplejeffro2561-0/+92
2024-03-10serialization: protect blob serialization from undefined behaviorjeffro2561-0/+5
There is currently no compiler protection when someone tries to do (for example) `BLOB_SERIALIZER(std::vector<int>)`. You just get runtime allocation errors. This has already eaten up dev time before, so this PR adds a static assertion that the type must be trivially copyable, as defined by the C++ standard. Types can override this if applicable if they use `BLOB_SERIALIZER_FORCED`.
2024-03-10Blockchain: remove old fee calc logicjeffro2563-191/+12
2024-03-07unit_tests: fix strtoul unit testjeffro2561-1/+0
2024-02-24Enforce Tx unlock_time is Zero by Relay Rulejeffro2561-1/+1
Related to https://github.com/monero-project/research-lab/issues/78 Added a relay rule that enforces the `unlock_time` field is equal to 0 for non-coinbase transactions. UIs changed: * Removed `locked_transfer` and `locked_sweep_all` commands from `monero-wallet-cli` APIs changed: * Removed `unlock_time` parameters from `wallet2` transfer methods * Wallet RPC transfer endpoints send error codes when requested unlock time is not 0 * Removed `unlock_time` parameters from `construct_tx*` cryptonote core functions
2024-02-24Merge pull request #9143luigi11111-0/+1
b1c9a80 Add <cstdint> to aligned test (Lee *!* Clagett)
2024-02-24Merge pull request #9138luigi11111-42/+37
cd7ccfb Disable/fix ports with I2P (Lee Clagett)
2024-02-24Merge pull request #8940luigi11111-0/+87
48b7d08 epee binary: container can read from empty seq of any type (jeffro256)
2024-02-20wallet: feature: transfer amount with fee includedjeffro2561-0/+57
To transfer ~5 XMR to an address such that your balance drops by exactly 5 XMR, provide a `subtractfeefrom` flag to the `transfer` command. For example: transfer 76bDHojqFYiFCCYYtzTveJ8oFtmpNp3X1TgV2oKP7rHmZyFK1RvyE4r8vsJzf7SyNohMnbKT9wbcD3XUTgsZLX8LU5JBCfm 5 subtractfeefrom=all If my walet balance was exactly 30 XMR before this transaction, it will be exactly 25 XMR afterwards and the destination address will receive slightly less than 5 XMR. You can manually select which destinations fund the transaction fee and which ones do not by providing the destination index. For example: transfer 75sr8AAr... 3 74M7W4eg... 4 7AbWqDZ6... 5 subtractfeefrom=0,2 This will drop your balance by exactly 12 XMR including fees and will spread the fee cost proportionally (3:5 ratio) over destinations with addresses `75sr8AAr...` and `7AbWqDZ6...`, respectively. Disclaimer: This feature was paid for by @LocalMonero.
2024-02-16epee binary: container can read from empty seq of any typejeffro2561-0/+87
2024-01-30Disable/fix ports with I2PLee Clagett1-42/+37
2024-01-29Add <cstdint> to aligned testLee *!* Clagett1-0/+1
2024-01-18Merge pull request #9084luigi11111-2/+2
01c6e4b OpenBSD: node server fix IP localhost by aliasing (mesaoptimizer)
2024-01-18Merge pull request #9079luigi11111-0/+7
eed975d Fix missing checks for IsObject in ZMQ jsonrpc reading (Lee Clagett)
2024-01-18Merge pull request #9073luigi11111-3/+7
53e632b fix merge mining with more than one merge mined chain (Crypto City)
2024-01-18Merge pull request #9069luigi11111-5/+34
a11e03a serialization: fix infinite loops and clean up dispatching (jeffro256)
2023-12-10OpenBSD: node server fix IP localhost by aliasingmesaoptimizer1-2/+2
The test node_server.bind_same_p2p_port fails by default on OpenBSD for at least the debug build. Using the same ifconfig command as described for MacOS results in the test passing.
2023-11-30fix merge mining with more than one merge mined chainCrypto City1-3/+7
reported by sech1
2023-11-28Fix missing checks for IsObject in ZMQ jsonrpc readingLee Clagett1-0/+7
2023-11-18serialization: fix infinite loops and clean up dispatchingjeffro2561-5/+34
Resolves #8687
2023-11-06Merge pull request #9045luigi11111-1/+1
504269e unit tests: fix running from pwd and auto test selected location (jeffro256)
2023-11-06Merge pull request #9030luigi11111-0/+117
30cf537 unit tests: wallet_storage: generate in 'Ascii' format test (jeffro256)
2023-11-06Merge pull request #8990luigi11111-0/+1
c17f73a add sp_transcript (koe) 51e40f7 add seraphis_crypto directory (koe)
2023-10-28unit tests: fix running from pwd and auto test selected locationjeffro2561-1/+1
2023-10-25Merge pull request #8987luigi11112-4/+12
1025e4f unit_test: set data dir relative to exe & add log-level arg (jeff)
2023-10-25Merge pull request #8969luigi11111-2/+2
8190f25 KV_SERIALIZE: remove extraneous semicolons in DSL (jeffro256)
2023-10-25Merge pull request #8958luigi11111-0/+182
b0bf49a blockchain_db: add k-anonymity to txid fetching (jeffro256)
2023-10-21unit tests: wallet_storage: generate in "Ascii" format testjeffro2561-0/+117
2023-10-02add a test for the long term weight cacheBoog9001-0/+35
2023-09-10add seraphis_crypto directorykoe1-0/+1
2023-09-10unit_test: set data dir relative to exe & add log-level argjeff2-4/+12
2023-08-23wallet2: fix `store_to()` and `change_password()`jeffro2562-0/+267
Resolves #8932 and: 2. Not storing cache when new path is different from old in `store_to()` and 3. Detecting same path when new path contains entire string of old path in `store_to()` and 4. Changing your password / decrypting your keys (in this method or others) and providing a bad original password and getting no error and 5. Changing your password and storing to a new file
2023-08-17Merge pull request #8924luigi11113-22/+8
ffbf9f4 blockchain_and_pool: move to crytonote_core and enforce its usage (jeffro256) d6f86e5 Avoid nullptr dereference when constructing Blockchain and tx_memory_pool (lukas)
2023-08-17Merge pull request #8853luigi11111-93/+10
6ff87ef net: tor_address: remove support for v2 onion addresses (tobtoht)
2023-08-10`KV_SERIALIZE`: remove extraneous semicolons in DSLjeffro2561-2/+2
Prereq of https://github.com/monero-project/monero/pull/8867
2023-08-01blockchain_db: add k-anonymity to txid fetchingjeffro2561-0/+182
Read more about k-anonymity [here](https://en.wikipedia.org/wiki/K-anonymity). We implement this feature in the monero daemon for transactions by providing a "Txid Template", which is simply a txid with all but `num_matching_bits` bits zeroed out, and the number `num_matching_bits`. We add an operation to `BlockchainLMDB` called `get_txids_loose` which takes a txid template and returns all txids in the database (chain and mempool) that satisfy that template. Thus, a client can ask about a specific transaction from a daemon without revealing the exact transaction they are inquiring about. The client can control the statistical chance that other TXIDs (besides the one in question) match the txid template sent to the daemon up to a power of 2. For example, if a client sets their `num_matching_bits` to 5, then statistically any txid has a 1/(2^5) chance to match. With `num_matching_bits`=10, there is a 1/(2^10) chance, so on and so forth. Co-authored-by: ACK-J <60232273+ACK-J@users.noreply.github.com>
2023-07-06Merge pull request #8854luigi11112-0/+51
d9c7cd5 common: do not use DNS to determine if address is local (tobtoht)
2023-07-03common: do not use DNS to determine if address is localtobtoht2-0/+51
Co-authored-by: j-berman <justinberman@protonmail.com>
2023-07-01blockchain_and_pool: move to crytonote_core and enforce its usagejeffro2563-22/+8
2023-06-28add crypto/generators for direct access to canonical fixed generatorskoe1-0/+24
2023-06-27Merge pull request #8870luigi11111-0/+16
eb94356 Add to_hex::buffer (Lee *!* Clagett)
2023-06-27Merge pull request #8660luigi11112-0/+437
2a7435e variant: add mutable unwrap and visitation (koe) bc3cec4 add variant class with cleaner interface than boost::variant<> (koe)
2023-05-22Add to_hex::bufferLee *!* Clagett1-0/+16
2023-05-12net: tor_address: remove support for v2 onion addressestobtoht1-93/+10
2023-04-25Merge pull request #8802luigi11111-0/+56
eb0e405 gamma picker: relax constructor requirements and test for selecting outputs from first spendable block (jeffro256)
2023-04-25Merge pull request #8698luigi111175-75/+75
5b4fea7 Copyright: Update to 2023 (mj-xmr)
2023-04-02gamma picker: relax constructor requirements and test for selecting outputs ↵jeffro2561-0/+56
from first spendable block
2023-03-17verRctNonSemanticsSimpleCached: fix fragilityJeffrey Ryan2-0/+427
2023-02-28replace 'multisig()' with 'get_multisig_status()' using ↵koe1-14/+11
multisig_account_status and including '.kex_is_done' member
2023-02-12variant: add mutable unwrap and visitationkoe1-1/+22
2023-01-30add variant class with cleaner interface than boost::variant<>koe2-0/+416
2023-01-16Copyright: Update to 2023mj-xmr75-75/+75
Co-authored-by: plowsof <plowsof@protonmail.com> extra files
2023-01-11Merge pull request #8648luigi11111-0/+11
8687da6 common: DNSResolver can handle hostnames without dot characters (Jeffrey Ryan)
2023-01-11Merge pull request #8643luigi11111-0/+35
faaf2af p2p: fix exclusive node DNS resolution for certain hosts (Jeffrey Ryan)
2022-12-01Merge pull request #8627luigi11111-15/+84
a7bf3af Fix dandelion++ fluff/stem bug with local txes (Lee Clagett)
2022-12-01Merge pull request #8572luigi11111-0/+4
50b7492 unit_tests: suppress memwipe unit warning (Jeffrey Ryan)
2022-11-21common: DNSResolver can handle hostnames without dot charactersJeffrey Ryan1-0/+11
Unrelated, but similar code-wise to #8643. There is a check in `DNSResolver` which automatically fails to resolve hostnames which do not contain the `.` character. This PR removes that check.
2022-11-17p2p: fix exclusive node DNS resolution for certain hostsJeffrey Ryan1-0/+35
Fixes #8633. The function `append_net_address` did not parse hostname + port addresses (e.g. `bar:29080`) correctly if the hostname did not contain a `'.'` character. @vtnerd comments 1 clear up 2nd conditional statement
2022-10-25Fix dandelion++ fluff/stem bug with local txesLee Clagett1-15/+84
2022-09-26Merge pull request #8587luigi11111-0/+1
8e7c7af Move update_checkpoints() to a later stage (SChernykh)
2022-09-26Merge pull request #8329luigi11111-24/+64
4b0785f add an option to force-update multisig key exchange under some circumstances (koe)
2022-09-22Move update_checkpoints() to a later stageSChernykh1-0/+1
update_checkpoints() makes a few DNS requests and can take up to 20-30 seconds to complete (3-6 seconds on average). It is currently called from core::handle_incoming_block() which holds m_incoming_tx_lock, so it blocks all incoming transactions and blocks processing while update_checkpoints() is running. This PR moves it to until after a new block has been processed and relayed, to avoid full monerod locking.
2022-09-21add an option to force-update multisig key exchange under some circumstanceskoe1-24/+64
2022-09-16unit_tests: suppress memwipe unit warningJeffrey Ryan1-0/+4
Fixes warning: ``` warning: ‘*(uint32_t*)quux’ may be used uninitialized [-Wmaybe-uninitialized] 49 | MDEBUG(std::hex << std::setw(8) << std::setfill('0') << *(uint32_t*)quux); warning: ‘quux’ may be used uninitialized [-Wmaybe-uninitialized] 50 | if (wipe) { ASSERT_TRUE(memcmp(quux, "bar", 3)); } ```
2022-09-15Merge pull request #8551luigi11111-1/+1
eca7f6a Fix segfault restoring encrypted multisig seed (j-berman) f713c3c Require user ack multisig is experimental to restore (j-berman) 564a7a3 multisig: fix #8537 seed restore (suggestions by @UkoeHB) (j-berman)
2022-09-06multisig: fix #8537 seed restore (suggestions by @UkoeHB)j-berman1-1/+1
- spend secret key is no longer the sum of multisig key shares; no need to check that is the case upon restore. - restoring a multisig wallet from multisig info means that the wallet must have already completed all setup rounds. Upon restore, set the number of rounds completed accordingly.
2022-08-26Fix shared_ptr cycle in test_epee_connection.test_lifetimeLee Clagett1-2/+5
2022-07-15Merge pull request #8426luigi11111-2/+252
a82fba4 address PR comments (j-berman) 3be1dbd connection: fix implementation (anon) 724ff21 connection: add segfault and deadlocks demo (anon)
2022-07-08address PR commentsj-berman1-5/+5
2022-07-05connection: add segfault and deadlocks demoanon1-2/+252
2022-06-30multisig: fix critical vulnerabilities in signinganon3-20/+21
2022-06-21unit_tests: fix accessing invalid memory in tree_hash testmoneromooo-monero1-2/+7
2022-05-26Merge pull request #8340luigi11111-0/+22
08080df unit_tests: add more sha256sum test cases (Jeffrey Ryan) a66a52d common: update sha256sum to use OpenSSL 3.0 API (Jeffrey Ryan)
2022-05-18Don't exclusively drop tor/i2p outgoing cxns in idle loopj-berman1-2/+2
2022-05-18unit_tests: add more sha256sum test casesJeffrey Ryan1-0/+22
2022-05-10Merge pull request #8302luigi11112-2/+2
41da2fe Update copyright to 2022 for Hardfork files (Akrit)
2022-05-10Merge pull request #8220luigi11111-8/+7
0d6ecb1 multisig: add post-kex verification round to check that all participants have completed the multisig address (koe)
2022-04-29multisig: add post-kex verification round to check that all participants ↵koe1-8/+7
have completed the multisig address
2022-04-29Update copyright to 2022 for Hardfork filesAkrit2-2/+2
Update Makefile and LICENSE
2022-04-18Add Include statementsJeffrey1-0/+1
2022-04-10Fee changes from ArticMinemoneromooo-monero2-0/+188
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-10epee: allow copying a rolling_median_t objectmoneromooo-monero1-0/+18
2022-04-06Merge pull request #8228luigi11111-67/+74
1ce9e9c Remove dead code from parserse_base_utils and fix unit tests (Jeffrey)
2022-04-06Merge pull request #8197luigi111173-73/+94
da9aa1f Copyright: Update to 2022 (mj-xmr)
2022-04-05plug bulletproofs plus into consensusmoneromooo-monero1-1/+1
2022-04-04Bulletproofs+Sarang Noether2-0/+170
2022-03-30Remove dead code from parserse_base_utils and fix unit testsJeffrey1-67/+74
* Remove `match_string()`, `match_number()`, and `match_word()` * Remove `match_word_with_extrasymb()` and `match_word_til_equal_mark()` * Adapt unit test for `match_number()` to `match_number2()` * Adapt unit test for `match_string()` to `match_string2()` Note: the unit tests were testing for the old version of the functions, and the interfaces for these functions changed slightly, so I had to also edit the tests. As of writing, this PR has no merge conflicts with #8211 Additional changes during review: * Explicitly set up is_[float/signed]_val to be changed before each call * Structify the tests and fix uninitialized variables
2022-03-04Copyright: Update to 2022mj-xmr73-73/+94
2022-03-02Merge pull request #7877luigi11111-32/+202
e08abaa multisig key exchange update and refactor (koe)
2022-02-22multisig key exchange update and refactorkoe1-32/+202
2021-11-01tx_pool: full tx revalidation on fork boundariesmoneromooo-monero1-5/+10
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-10-11Merge pull request #7874luigi11112-36/+337
9154883 node_server: fix race condition (anon) 8922f96 node_server: add race condition demo (anon)
2021-09-23Merge pull request #7923luigi11111-2/+4
5eaedb5 unit_tests: fix use after free in serialization test (moneromooo-monero)
2021-09-20node_server: fix race conditionanon1-36/+77
2021-09-20node_server: add race condition demoanon1-0/+260
2021-09-12Mac: UT node server fix IP localhost by aliasingmj-xmr1-0/+3
2021-09-09Merge pull request #7828luigi11111-0/+7
b2c59af EasyLogging++: new anti-UB test and propagating exception (mj-xmr)
2021-09-08unit_tests: fix use after free in serialization testmoneromooo-monero1-2/+4
2021-08-11Merge pull request #7818luigi11112-8/+8
9c8e3e8 unit_tests: fix broken tests (anon)
2021-08-11Merge pull request #7809luigi11111-0/+1
7354ffb p2p: remove blocked addresses/hosts from peerlist (moneromooo-monero)
2021-08-05p2p: remove blocked addresses/hosts from peerlistmoneromooo-monero1-0/+1
2021-08-03EasyLogging++: new anti-UB test and propagating exceptionmj-xmr1-0/+7
2021-07-28unit_tests: fix broken testsanon2-8/+8
boosted_tcp_server: check condition before sleep too cryptonote_protocol_handler: each instance of BlockchainLMDB requires separate thread due to private thread local fields
2021-07-06EasyLogging++: Add UTests, that protect against regressionsmj-xmr1-0/+13
2021-06-11unit_tests: check for ge_frombytes_vartime failuremoneromooo-monero2-4/+4
CID 1446559
2021-06-10Merge pull request #7661luigi11112-7/+75
08e4497 Improve cryptonote (block and tx) binary read performance (Lee Clagett)
2021-05-12Merge pull request #7690luigi11111-1/+2
3cc4428 clang: fix -Wpessimizing-move warning (selsta)
2021-04-28clang: fix -Wpessimizing-move warningselsta1-1/+2
2021-04-27clang: fix -Wrange-loop-analysis warningsselsta1-1/+1
2021-04-22Merge pull request #7669luigi11114-40/+124
679d055 Remove payload copy in all outgoing p2p messages (Lee Clagett)
2021-04-16Split epee/string_tools.h and encapsulate boost::lexical_castmj-xmr1-0/+1
2021-04-16Revert "Merge pull request #7136"luigi11113-118/+24
This reverts commit 63c7ca07fba2f063c760f786a986fb3e02fb040e, reversing changes made to 2218e23e84a89e9a1e4c0be5d50f891ab836754f.
2021-04-16Merge pull request #7653luigi11111-1/+1
73d3b00 unit_tests: fix boost 1.58 compatibility (anon)
2021-04-16Merge pull request #7136luigi11113-24/+118
23aae55 Remove payload copy in all outgoing p2p messages (Lee Clagett)
2021-04-08unit_tests: fix boost 1.58 compatibilityanon1-1/+1
2021-04-06Merge pull request #7646luigi11111-0/+12
176cea0 Tests: Fix test node_server.bind_same_p2p_port from randomly crashing (mj-xmr)
2021-04-06Merge pull request #7639luigi11111-1/+4
53683d7 Warnings: fix ut/levin.cpp missing braces (mj-xmr)
2021-04-05Tests: Fix test node_server.bind_same_p2p_port from randomly crashingmj-xmr1-0/+12
2021-03-29Merge pull request #7620luigi11111-0/+592
fe63256 cryptonote_protocol_handler: fix race condition (anon) ded2f3a cryptonote_protocol_handler: add race condition demo (anon)
2021-03-29Merge pull request #7460luigi11111-0/+110
2935a0c async_protocol_handler_config: fix deadlock (anon) c877705 async_protocol_handler_config: add deadlock demo (anon)
2021-03-27Warnings: fix ut/levin.cpp missing bracesmj-xmr1-1/+4
2021-03-22cryptonote_protocol_handler: add race condition demoanon1-0/+592
2021-03-20Merge pull request #7005luigi11111-1/+3
249eae5 Allow byte_stream->byte_slice conversion to shrink unused buffer space (Lee Clagett)
2021-03-20Merge pull request #6810luigi11111-0/+213
19b2283 New add_aux_pow RPC to support merge mining (moneromooo-monero)
2021-03-12async_protocol_handler_config: add deadlock demoanon1-0/+110
2021-02-19async_protocol_handler_config: add segfault demoanon1-2/+73
2021-02-18Merge pull request #7355luigi11111-8/+8
bd12984 Remove copies from foreach loops (thanks to Clang) (Lee Clagett) 1572df9 Removing unused namespace alias (Lee Clagett)
2021-02-18Merge pull request #7352luigi11111-9/+9
a60d3d8 unit_tests: fix wipeable_string parse_hexstr test with latest gtest (xiphon)
2021-02-18Merge pull request #7346luigi11115-5/+1
85db173 Remove unused variables in monero codebase (Kevin Barbour)
2021-02-15Merge pull request #7308luigi11111-0/+150
df2f00f boosted_tcp_server: fix connection lifetime (anon) 3833624 boosted_tcp_server: add segfault demo (anon)
2021-02-09New add_aux_pow RPC to support merge miningmoneromooo-monero1-0/+213
2021-02-09Remove unused variables in monero codebaseKevin Barbour5-5/+1
There are quite a few variables in the code that are no longer (or perhaps never were) in use. These were discovered by enabling compiler warnings for unused variables and cleaning them up. In most cases where the unused variables were the result of a function call the call was left but the variable assignment removed, unless it was obvious that it was a simple getter with no side effects.
2021-02-06Reduce compilation time of epee/portable_storage.hmj-xmr1-0/+1
2021-01-28Remove copies from foreach loops (thanks to Clang)Lee Clagett1-8/+8
2021-01-27unit_tests: fix wipeable_string parse_hexstr test with latest gtestxiphon1-9/+9
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=973196
2021-01-23Improve cryptonote (block and tx) binary read performanceLee Clagett2-7/+75
2021-01-19boosted_tcp_server: add segfault demoanon1-0/+150
2021-01-19Remove payload copy in all outgoing p2p messagesLee Clagett4-40/+124
2021-01-16Remove payload copy in all outgoing p2p messagesLee Clagett3-24/+118
2021-01-07Merge pull request #7285Alexander Blair1-3/+40
927141bcc Command max_bytes moved from dynamic map to static switch (Lee Clagett)
2020-12-22Command max_bytes moved from dynamic map to static switchLee Clagett1-3/+40
2021-01-03add a max levin packet size by command typemoneromooo-monero1-0/+1
2021-01-01Merge pull request #7250Alexander Blair2-0/+4
61b6e4cc6 Add aggressive restrictions to pre-handshake p2p buffer limit (Lee Clagett)
2020-12-31protocol: more sanity checks in new chain block hashesmoneromooo-monero1-1/+2
2020-12-27protocol: fix false positives dropping peersmoneromooo-monero1-0/+1
it'd trigger on reorgs
2020-12-27Revert "Reject existing claimed blocks in sync mode"luigi11111-1/+0
2020-12-26Merge pull request #7154Alexander Blair1-0/+1
cf7e1571d protocol: reject claimed block hashes that already are in the chain (moneromooo-monero) af0a25544 protocol: drop peers we can't download anything from in sync mode (moneromooo-monero)
2020-12-20Restrict duplicate keys in epee binary formatLee Clagett2-0/+55
2020-12-17protocol: reject claimed block hashes that already are in the chainmoneromooo-monero1-0/+1
2020-12-17Add aggressive restrictions to pre-handshake p2p buffer limitLee Clagett2-0/+4
2020-12-14Fix byte_stream::put_nLee Clagett1-0/+17
2020-12-10Merge pull request #7110Alexander Blair1-9/+11
d660f22ed protocol: drop origin IP if a block fails to verify in sync mode (moneromooo-monero)
2020-12-10Merge pull request #7009Alexander Blair4-24/+23
7414e2bac Change epee binary output from std::stringstream to byte_stream (Lee Clagett)
2020-12-10Merge pull request #7003Alexander Blair1-43/+50
08eb0949f Change to more efficient allocation strategy in byte_stream (Lee Clagett)
2020-12-10protocol: drop origin IP if a block fails to verify in sync modemoneromooo-monero1-9/+11
It would otherwise be possible for a peer to send bad blocks, then disconnect and reconnect again, escaping bans
2020-11-29Merge pull request #7018luigi11112-2/+8
a9cd5d9 cryptonote_core: dandelion - use local height or median height if syncing (xiphon)
2020-11-29Merge pull request #6973luigi11111-0/+109
be84f67 Switch to Dandelion++ fluff mode if no out connections for stem mode (Lee Clagett)
2020-11-29Merge pull request #6937luigi11111-2/+2
8a282f6 Add RELINK_TARGETS, monero_add_target_no_relink and use monero_add_executable/monero_add_library where possible (mj-xmr) Add monero_add_minimal_executable and use in tests (mj-xmr)
2020-11-28Merge pull request #6856luigi11111-18/+0
db70af1 Unit Tests: Remove block reward upper bound size checks (TheCharlatan)
2020-11-25cryptonote_core: dandelion - use local height or median height if syncingxiphon2-2/+8
2020-11-16Better log message for unusable anon networksHoward Chu1-1/+2
2020-11-03Switch to Dandelion++ fluff mode if no out connections for stem modeLee Clagett1-0/+109
2020-10-28Add RELINK_TARGETS, monero_add_target_no_relink and use ↵mj-xmr1-2/+2
monero_add_executable/monero_add_library where possible (mj-xmr) Add monero_add_minimal_executable and use in tests This is done in order not to have to relink targets, when just an .so changed, but not its interface.
2020-10-13Change to more efficient allocation strategy in byte_streamLee Clagett1-43/+50
2020-10-13Allow byte_stream->byte_slice conversion to shrink unused buffer spaceLee Clagett1-1/+3
2020-10-12Dandelion++: skip desynced peers in stem phasexiphon1-34/+41
2020-10-10Change epee binary output from std::stringstream to byte_streamLee Clagett4-24/+23
2020-10-03Unit Tests: Remove block reward upper bound size checksTheCharlatan1-18/+0
Tests running after being compiled with `make debug-test` failed with ``` [ FAILED ] block_reward_and_current_block_weight.fails_on_huge_median_size [ FAILED ] block_reward_and_current_block_weight.fails_on_huge_block_weight ``` With the introduction of the patch in https://github.com/monero-project/monero/commit/be82c40703d267184ee07bf7be71002122c86656#diff-1a57d4e6013984c420da98d1adde0eafL113 the assertions checking the weight of the median and current block against a size limit were removed. Since the limit is now enforced by a long divisor and a uint64_t type, checking in a separate test makes little sense, so they are removed here.
2020-09-03Merge pull request #6757luigi11111-20/+20
6a37da8 threadpool: guard against exceptions in jobs, and armour plating (moneromooo-monero)
2020-09-01threadpool: guard against exceptions in jobs, and armour platingmoneromooo-monero1-20/+20
Those would, if uncaught, exit run and leave the waiter to wait indefinitely for the number of active jobs to reach 0
2020-08-27Merge pull request #6769Alexander Blair1-0/+41
b641e0a2c Add clear method to byte_stream (Lee Clagett)
2020-08-27CLSAG optimizationsSarang Noether1-84/+82
2020-08-27Integrate CLSAGs into moneromoneromooo-monero2-1/+185
They are allowed from v12, and MLSAGs are rejected from v13.
2020-08-27unit_tests: add ge_triple_scalarmult_base_vartime testmoneromooo-monero1-0/+62
2020-08-27Merge pull request #6690Alexander Blair2-2/+2
7175dcb10 replace most boost serialization with existing monero serialization (moneromooo-monero)
2020-08-17Add clear method to byte_streamLee Clagett1-0/+41
2020-08-17Revert "Use domain-separated ChaCha20 for in-memory key encryption"luigi11112-74/+0
This reverts commit 921dd8dde5d381052d0aa2936304a3541a230c55.
2020-08-17replace most boost serialization with existing monero serializationmoneromooo-monero2-2/+2
This reduces the attack surface for data that can come from malicious sources (exported output and key images, multisig transactions...) since the monero serialization is already exposed to the outside, and the boost lib we were using had a few known crashers. For interoperability, a new load-deprecated-formats wallet setting is added (off by default). This allows loading boost format data if there is no alternative. It will likely go at some point, along with the ability to load those. Notably, the peer lists file still uses the boost serialization code, as the data it stores is define in epee, while the new serialization code is in monero, and migrating it was fairly hairy. Since this file is local and not obtained from anyone else, the marginal risk is minimal, but it could be migrated later if needed. Some tests and tools also do, this will stay as is for now.
2020-08-16Merge pull request #6718Alexander Blair1-0/+11
85efc88c1 Fix overflow issue in epee:misc_utils::rolling_median_t and median(), with unit test (koe)
2020-08-16Merge pull request #6716Alexander Blair1-1/+1
76c16822d wallet2_api: implement runtime proxy configuration (xiphon)
2020-08-16Merge pull request #6603Alexander Blair1-1/+16
4e2377995 Change ZMQ-JSON txextra to hex and remove unnecessary base fields (Lee Clagett)
2020-08-16Merge pull request #6601Alexander Blair1-1/+1
98c151ecb Optimize ZMQ-JSON vector reading; GetBlocksFast reads 24%+ faster (Lee Clagett) 60627c9f2 Switch to insitu parsing for ZMQ-JSON; GetBlocksFast reads 13%+ faster (Lee Clagett) fe96e66eb Fix pruned tx for ZMQ's GetBlocksFast (Lee Clagett)
2020-08-16Merge pull request #6493Alexander Blair2-0/+74
921dd8dde Use domain-separated ChaCha20 for in-memory key encryption (Sarang Noether)