aboutsummaryrefslogtreecommitdiff
path: root/tests/unit_tests (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2021-04-08unit_tests: fix boost 1.58 compatibilityanon1-1/+1
2021-04-05Tests: Fix test node_server.bind_same_p2p_port from randomly crashingmj-xmr1-0/+12
2021-03-22cryptonote_protocol_handler: add race condition demoanon1-0/+589
2021-03-12async_protocol_handler_config: add deadlock demoanon1-0/+110
2021-02-19async_protocol_handler_config: add segfault demoanon1-2/+73
2021-01-19boosted_tcp_server: add segfault demoanon1-0/+150
2021-01-03add a max levin packet size by command typemoneromooo-monero1-0/+1
2020-12-31protocol: more sanity checks in new chain block hashesmoneromooo-monero1-1/+2
2020-12-29Add aggressive restrictions to pre-handshake p2p buffer limitLee Clagett2-0/+4
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-23Command max_bytes moved from dynamic map to static switchLee Clagett1-3/+40
2020-12-17protocol: reject claimed block hashes that already are in the chainmoneromooo-monero1-0/+1
2020-12-14Fix byte_stream::put_nLee Clagett1-0/+17
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-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-10-12Dandelion++: skip desynced peers in stem phasexiphon1-34/+41
2020-10-06Switch to Dandelion++ fluff mode if no out connections for stem modeLee Clagett1-0/+109
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-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-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-14Change ZMQ-JSON txextra to hex and remove unnecessary base fieldsLee Clagett1-1/+16
2020-08-14Fix pruned tx for ZMQ's GetBlocksFastLee Clagett1-1/+1
2020-08-09Use domain-separated ChaCha20 for in-memory key encryptionSarang Noether2-0/+74
2020-08-09Updates InProofV1, OutProofV1, and ReserveProofV1 to new V2 variants that ↵Sarang Noether2-0/+131
include all public proof parameters in Schnorr challenges, along with hash function domain separators. Includes new randomized unit tests.
2020-07-23Fix overflow issue in epee:misc_utils::rolling_median_t and median(), with ↵koe1-0/+11
unit test
2020-07-20wallet2_api: implement runtime proxy configurationxiphon1-1/+1
2020-05-20ByteSlice: Fix persisting ptr to std::moved SSO bufferDoyle1-0/+23
The Bug: 1. Construct `byte_slice.portion_` with `epee::span(buffer)` which copies a pointer to the SSO buffer to `byte_slice.portion_` 2. It constructs `byte_slice.storage_` with `std::move(buffer)` (normally this swap pointers, but SSO means a memcpy and clear on the original SSO buffer) 3. `slice.data()` returns a pointer from `slice.portion_` that points to the original SSO cleared buffer, `slice.storage_` has the actual string.
2020-05-15Add randomized delay when forwarding txes from i2p/tor -> ipv4/6Lee Clagett1-8/+246
2020-05-12Fixed bugs for take_slice and byte_stream->byte_sliceLee Clagett1-0/+31
2020-05-11remove double includessumogr1-2/+0
2020-05-06Update copyright year to 2020SomaticFanatic50-50/+50
Update copyright year to 2020
2020-05-04Adding ZMQ/Pub support for txpool_add and chain_main eventsLee Clagett4-8/+776
2020-04-18unit_tests: fix gcc+ warningSumo Gr1-0/+4
2020-04-14Bulletproofs: verification speedupSarang Noether1-0/+8
2020-04-11Add byte_stream for zero-copy serialization, and add support in ZMQ-JSON.Lee Clagett2-5/+259
2020-04-03Use byte_slice for sending zmq messages - removes data copy within zmqLee Clagett1-0/+39
2020-03-30Fixed string_ref usage bug in epee::from_hex::vectorLee Clagett1-0/+3
2020-03-28Fix network unit tests after epee changesLee Clagett1-2/+2
2020-03-26Adding Dandelion++ support to public networks:Lee Clagett1-27/+1074
- 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
2020-03-22protocol: request txpool contents when syncedmoneromooo-monero1-0/+2
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
2020-03-20p2p: remove old debug commandsAaron Hook3-1/+2
2020-03-10Fix receive order leakage with tx fluffingLee Clagett1-8/+12
2020-03-09Move hex->bin conversion to monero copyright files and with less includesLee Clagett1-3/+43
2020-03-05Various improvements to the ZMQ JSON-RPC handling:Lee Clagett2-20/+38
- 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.
2020-02-28daemon: auto public nodes - cache and prioritize most stable nodesxiphon2-0/+173
2020-02-18unit_tests: fix missing test namesxiphon2-5/+1
2020-02-17remove empty statementsInterchained2-2/+2
Cleaning up a little around the code base.
2020-02-12wipeable_string: split - treat CR, LF and Tabs as separatorsxiphon1-0/+1
2020-01-26wallet: do not split integrated addresses in address book apimoneromooo-monero1-1/+0
2020-01-18net: fix incorrect less operator for top/i2p addressesAaron Hook1-23/+403
2019-12-01unit_tests: remove invalid bulletproofs unit testmoneromooo-monero1-9/+0
It was intended to check a case which is actually valid (0 gamma), but was actually duplicating the bad amount test. Reported by WhatDo_ on IRC.
2019-11-18Fixed bug in ZMQ JSON-RPC method fieldLee Clagett2-1/+58
2019-11-12rpc: Only show version string if it matches expected patternNathan Dorfman2-1/+51
2019-11-04Change to Tx diffusion (Dandelion++ fluff) instead of floodingLee Clagett1-14/+82
2019-11-04Improved performance for epee serialization:Lee Clagett1-3/+3
- Removed copy of field names in binary deserialization - Removed copy of array values in binary deserialization - Removed copy of string values in json deserialization - Removed unhelpful allocation in json string value parsing - Removed copy of blob data on binary and json serialization
2019-11-02Adding support for hidden (anonymity) txpoolLee Clagett1-5/+6
2019-10-31unit_tests: fix use after freemoneromooo-monero1-7/+16
2019-10-30unit_tests: fix use after freemoneromooo-monero1-7/+16
2019-10-21Support median block size > 4 GBmoneromooo-monero1-0/+116
add a 128/64 division routine so we can use a > 32 bit median block size in calculations
2019-10-15unit_tests: fix build after renamemoneromooo-monero1-4/+6
2019-10-13p2p+rpc: don't skip p2p or rpc port bind failure by defaultxiphon2-7/+42
2019-10-11cryptonote: add function to get weight from a pruned txmoneromooo-monero1-0/+37
The weight of the prunable data is deterministic from the unpruned data, so it can be determined from a pruned tx
2019-10-11unit_tests: fix build with boost 1.69moneromooo-monero1-3/+6
2019-10-04unit_tests: fix ringdb unit testsmoneromooo-monero1-5/+11
2019-09-27monerod can now sync from pruned blocksmoneromooo-monero1-4/+6
If the peer (whether pruned or not itself) supports sending pruned blocks to syncing nodes, the pruned version will be sent along with the hash of the pruned data and the block weight. The original tx hashes can be reconstructed from the pruned txes and theur prunable data hash. Those hashes and the block weights are hashes and checked against the set of precompiled hashes, ensuring the data we received is the original data. It is currently not possible to use this system when not using the set of precompiled hashes, since block weights can not otherwise be checked for validity. This is off by default for now, and is enabled by --sync-pruned-blocks
2019-09-16p2p: fix bans taking port into accountmoneromooo-monero1-2/+20
2019-09-16Properly format multiline logsmoneromooo-monero1-0/+17
As a side effect, colouring on Windows should now work regardless of version
2019-09-16Removed Berkeley DB and db switching logicJesus Ramirez1-8/+1
2019-09-09unit tests: replace global var with lambda returning static local varstoffu2-9/+9
Fixes assertion failure (curstate == 1) in random.c in debug mode
2019-09-04unit_tests: fix levin unit test on big endianmoneromooo-monero1-23/+23
2019-09-04difficulty: fix check_hash on big endianmoneromooo-monero1-4/+10
2019-09-02Changed the use of boost:value_initialized for C++ list initializerJesus Ramirez1-1/+1
2019-08-30unit_tests: fix build with CLANG 8 and boost 1.69moneromooo-monero1-6/+12
2019-08-27MLSAG speedup and additional checksSarang Noether1-1/+14
2019-08-27unit_tests: Fix uninitialized valuesMatyas Liptak1-1/+1
- Initialize the `hash` in the `get_block_hash()` function of the `output_distribution` unit test explicitly, to silence `valgrind` warnings.
2019-08-16epee: support unicode in parsed stringsmoneromooo-monero1-0/+17
2019-08-15Replace std::random_shuffle with std::shuffleTom Smeding2-3/+3
According to [1], std::random_shuffle is deprecated in C++14 and removed in C++17. Since std::shuffle is available since C++11 as a replacement and monero already requires C++11, this is a good replacement. A cryptographically secure random number generator is used in all cases to prevent people from perhaps copying an insecure std::shuffle call over to a place where a secure one would be warranted. A form of defense-in-depth. [1]: https://en.cppreference.com/w/cpp/algorithm/random_shuffle
2019-07-29Fixed i2p/tor tx flooding bug (white noise disabled)Lee Clagett1-12/+85
2019-07-22Dropping cppzmq dependency; adding some zmq utilsLee Clagett2-1/+132
2019-07-17Added support for "noise" over I1P/Tor to mask Tx transmission.Lee Clagett4-0/+1088
2019-07-16Add ref-counted buffer byte_slice. Currently used for sending TCP data.Lee Clagett2-3/+436
2019-07-16allow blocking whole subnetsmoneromooo-monero2-3/+53
2019-07-09boost: update obsolete usage of endian APImoneromooo-monero1-1/+2
2019-07-04keccak: guard against misaligned memory accesses on ARMmoneromooo-monero1-0/+17
The code generated is exactly the same as the direct access one on x86_64
2019-07-01unit_tests: check return values on test data parsingmoneromooo-monero1-2/+2
Won't trigger in practice, but you never know when that code changes Coverity 199723, 199685
2019-06-16unit_tests: add more leeway to the "same distribution" checkmoneromooo-monero1-2/+2
This is an inherently probabilistic check, which occasionally fails for a matching distribution
2019-05-20unit_tests: make the density test a bit less stringentmoneromooo-monero1-1/+1
It's an inherently random test
2019-05-10use crypto::rand instead of libc rand in a few testsmoneromooo-monero3-8/+8
We don't need secure randomness here, but it should shut coverity up
2019-05-02blockchain: keep a rolling long term block weight medianmoneromooo-monero2-0/+203
2019-05-01fix wide difficulty conversion with some versions of boostmoneromooo-monero1-4/+4
2019-05-01wallet2: reject standalone short payment IDs in monero: URI APImoneromooo-monero1-3/+1
2019-04-29remove unused codemoneromooo-monero1-1/+0
2019-04-29add a few checks where it seems appropriatemoneromooo-monero1-0/+1
2019-04-25unit_tests: fix crash in debug in output_distribution testmoneromooo-monero1-0/+7
updating the block size limit needs recent block sizes, so we feed it dummy ones
2019-04-25rpc: improve get_output_distributionmoneromooo-monero1-11/+18
It can now handle small reorgs without having to rescan the whole blockchain. Also add a test for it.
2019-04-23unit_tests: don't delete log file on windows, it will failmoneromooo-monero1-0/+3
2019-04-19Fix socks tests in windows and handle errors betterLee Clagett1-7/+13
2019-04-18wallet2: "output lineup" fake out selectionmoneromooo-monero1-0/+117
Based on python code by sarang: https://github.com/SarangNoether/skunkworks/blob/outputs/outputs/simulate.py
2019-04-17testdb: add override keyword where missingstoffu1-6/+6
and delete obsolete BlockchainBDB::get_tx_output_indices along the way
2019-04-16unit_tests: undo is_blocked implementation factoringmoneromooo-monero1-1/+12
The is_host_blocked method is not on master yet
2019-04-14blockchain_db: fix db txn ending too earlymoneromooo-monero1-0/+4
The db txn in add_block ending caused the entire overarching batch txn to stop. Also add a new guard class so a db txn can be stopped in the face of exceptions. Also use a read only db txn in init when the db itself is read only, and do not save the max tx size in that case.
2019-04-11p2p: fix integer overflow in host bansmoneromooo-monero1-12/+17
2019-04-11ringct: prevent use of full ringct signatures for more than one inputmoneromooo-monero2-142/+57
2019-04-09unit_tests/long_term_block_weight: some tweaks that seem to make more sensestoffu1-8/+9
2019-04-03unit_tests: fix long term block weight test after cache changemoneromooo-monero1-0/+5
2019-03-25Added socks proxy (tor/i2pd/kovri) support to walletLee Clagett2-1/+91
2019-03-24Make difficulty 128 bit instead of 64 bitmoneromooo-monero3-0/+92
Based on Boolberry work by: jahrsg <jahr@jahr.me> cr.zoidberg <crypto.zoidberg@gmail.com>
2019-03-24test: hmac_keccak - fix number of chunks countingDusan Klinec1-6/+7
2019-03-20crypto: hmac_keccak addedDusan Klinec2-0/+153
2019-03-19Adding classes, functions, and utilities for common LMDB operations.Lee Clagett2-0/+406
2019-03-12tests: disable wallet SSL init for tests involving wallet2moneromooo-monero1-1/+1
2019-03-08blockchain: speed up getting N blocks weights/long term weightsmoneromooo-monero1-0/+12
2019-03-05Update 2019 copyrightbinaryFate46-46/+46
2019-03-05epee: add SSL supportMartijn Otto1-0/+19
RPC connections now have optional tranparent SSL. An optional private key and certificate file can be passed, using the --{rpc,daemon}-ssl-private-key and --{rpc,daemon}-ssl-certificate options. Those have as argument a path to a PEM format private private key and certificate, respectively. If not given, a temporary self signed certificate will be used. SSL can be enabled or disabled using --{rpc}-ssl, which accepts autodetect (default), disabled or enabled. Access can be restricted to particular certificates using the --rpc-ssl-allowed-certificates, which takes a list of paths to PEM encoded certificates. This can allow a wallet to connect to only the daemon they think they're connected to, by forcing SSL and listing the paths to the known good certificates. To generate long term certificates: openssl genrsa -out /tmp/KEY 4096 openssl req -new -key /tmp/KEY -out /tmp/REQ openssl x509 -req -days 999999 -sha256 -in /tmp/REQ -signkey /tmp/KEY -out /tmp/CERT /tmp/KEY is the private key, and /tmp/CERT is the certificate, both in PEM format. /tmp/REQ can be removed. Adjust the last command to set expiration date, etc, as needed. It doesn't make a whole lot of sense for monero anyway, since most servers will run with one time temporary self signed certificates anyway. SSL support is transparent, so all communication is done on the existing ports, with SSL autodetection. This means you can start using an SSL daemon now, but you should not enforce SSL yet or nothing will talk to you.
2019-03-05cryptonote: avoid double parsing blocks when syncingmoneromooo-monero1-2/+2
2019-03-05save some database calls when getting top block hash and heightmoneromooo-monero1-1/+3
2019-03-05Avoid repeated (de)serialization when syncingmoneromooo-monero2-29/+29
2019-03-04ArticMine's new block weight algorithmmoneromooo-monero6-175/+414
This curbs runaway growth while still allowing substantial spikes in block weight Original specification from ArticMine: here is the scaling proposal Define: LongTermBlockWeight Before fork: LongTermBlockWeight = BlockWeight At or after fork: LongTermBlockWeight = min(BlockWeight, 1.4*LongTermEffectiveMedianBlockWeight) Note: To avoid possible consensus issues over rounding the LongTermBlockWeight for a given block should be calculated to the nearest byte, and stored as a integer in the block itself. The stored LongTermBlockWeight is then used for future calculations of the LongTermEffectiveMedianBlockWeight and not recalculated each time. Define: LongTermEffectiveMedianBlockWeight LongTermEffectiveMedianBlockWeight = max(300000, MedianOverPrevious100000Blocks(LongTermBlockWeight)) Change Definition of EffectiveMedianBlockWeight From (current definition) EffectiveMedianBlockWeight = max(300000, MedianOverPrevious100Blocks(BlockWeight)) To (proposed definition) EffectiveMedianBlockWeight = min(max(300000, MedianOverPrevious100Blocks(BlockWeight)), 50*LongTermEffectiveMedianBlockWeight) Notes: 1) There are no other changes to the existing penalty formula, median calculation, fees etc. 2) There is the requirement to store the LongTermBlockWeight of a block unencrypted in the block itself. This is to avoid possible consensus issues over rounding and also to prevent the calculations from becoming unwieldy as we move away from the fork. 3) When the EffectiveMedianBlockWeight cap is reached it is still possible to mine blocks up to 2x the EffectiveMedianBlockWeight by paying the corresponding penalty. Note: the long term block weight is stored in the database, but not in the actual block itself, since it requires recalculating anyway for verification.
2019-02-01unit_tests: remove leftover debug printmoneromooo-monero1-1/+0
2019-01-28Adding initial support for broadcasting transactions over TorLee Clagett4-8/+936
- Support for ".onion" in --add-exclusive-node and --add-peer - Add --anonymizing-proxy for outbound Tor connections - Add --anonymous-inbounds for inbound Tor connections - Support for sharing ".onion" addresses over Tor connections - Support for broadcasting transactions received over RPC exclusively over Tor (else broadcast over public IP when Tor not enabled).
2019-01-28notify: handle arbitrary tagsmoneromooo-monero1-1/+1
2019-01-22ringct: remove unused senderPk from ecdhTuplemoneromooo-monero2-4/+0
This was an early ringct field, which was never used in production
2019-01-22ringct: the commitment mask is now deterministicmoneromooo-monero2-36/+0
saves space in the tx and is safe Found by knaccc
2019-01-22ringct: encode 8 byte amount, saving 24 bytes per outputmoneromooo-monero2-5/+21
Found by knaccc
2019-01-22add a bulletproof version, new bulletproof type, and rct configmoneromooo-monero4-10/+19
This makes it easier to modify the bulletproof format
2019-01-22Pruningmoneromooo-monero3-0/+243
The blockchain prunes seven eighths of prunable tx data. This saves about two thirds of the blockchain size, while keeping the node useful as a sync source for an eighth of the blockchain. No other data is currently pruned. There are three ways to prune a blockchain: - run monerod with --prune-blockchain - run "prune_blockchain" in the monerod console - run the monero-blockchain-prune utility The first two will prune in place. Due to how LMDB works, this will not reduce the blockchain size on disk. Instead, it will mark parts of the file as free, so that future data will use that free space, causing the file to not grow until free space grows scarce. The third way will create a second database, a pruned copy of the original one. Since this is a new file, this one will be smaller than the original one. Once the database is pruned, it will stay pruned as it syncs. That is, there is no need to use --prune-blockchain again, etc.
2019-01-16blockchain_db: allow getting output keys without commitmentmoneromooo-monero1-1/+1
Since the commitment has to be calculated for non rct outputs, it slows down a lot unnecessarily if we don't need it
2019-01-16epee: speedup word/number matchingmoneromooo-monero1-0/+84
Number matching semantics are slightly changed: since this is used as a filter to check whether a number is signed and/or floating point, we can speed this up further. strto* functions are called afterwards and will error out where necessary. We now also accept numbers like .4 which were not accepted before. The strto* calls on a boost::string_ref will not access unallocated memory since the parsers always stop at the first bad character, and the original string is zero terminated. in arbitrary time measurement units for some arbitrary test case: match_number2: 235 -> 70 match_word2: 330 -> 108
2019-01-11added two tests for partial word and case tolerance in mnemonicsPaul Shapiro1-1/+36
2019-01-07Make get_output_key method constmoneroexamples1-2/+2
get_output_key method is commonly used when working with txs and their key images. Because the method is not const, passing blockchain object though const& or pointers to const is not possible in this context. This is especially problematic in external projects (e.g., projects in moneroexamples) that use monero C++ api to operate on the blockchain and txs. Thus, having get_output_key method will simplify moving blockchain object around through const references and pointers to const objects.
2018-12-23epee: better network buffer data structuremoneromooo-monero2-4/+73
avoids pointless allocs and memcpy
2018-12-18blockchain_db: speedup tx output gatheringmoneromooo-monero1-1/+1
We know all the data we'll want for getblocks.bin is contiguous
2018-12-07p2p: use vector instead of list for peer listsmoneromooo-monero1-3/+3
2018-12-05unit_tests: strengthen notify test against OS schedulingmoneromooo-monero1-5/+16
2018-12-04move int-util.h to epeemoneromooo-monero1-1/+1
2018-11-27Outputs where all amounts are known spent can now be prunedmoneromooo-monero1-0/+1
Only for pre rct for obvious reasons. Note: DO NOT use a known spent list which includes outputs which are not known spent. If the list includes any output that's just strongly thought to be spent, but not provably so, you risk finding yourself unable to sync past the point where that output is spent. I estimate only 200 MB saved on current mainnet though, unless the new blackballing rule unearths a good amount of large-amount-set extra spent outs.
2018-11-26rpc: speedup get_outs.binmoneromooo-monero1-1/+1
2018-11-23unit_tests: fix malloc/delete mismatchmoneromooo-monero1-1/+1
2018-11-23unit_tests: do not rethrow a copy of an exceptionmoneromooo-monero1-1/+1
Found by codacy.com
2018-11-23remove some unused codemoneromooo-monero3-4/+1
Found by codacy.com
2018-11-23tests: slow_memmem now returns size_tmoneromooo-monero1-4/+4
Makes more sense than uint64_t for an offset, and agrees with the %zu used to print results. Found by codacy.com
2018-11-16unit_tests: don't take the address of an unwrapped secret keymoneromooo-monero1-1/+4
2018-11-16tests: add unit tests for get_output_distributionmoneromooo-monero4-87/+325
2018-11-15unit_tests: add some hex parsing test for non hex inputxiphon1-0/+16
2018-11-15unit_tests: add a test for parse_hexstr_to_binbuffmoneromooo-monero1-0/+13
2018-11-15Removed a lot of unnecessary includesMartijn Otto1-1/+1
2018-11-09unit_tests: add logging unit testmoneromooo-monero2-0/+178
2018-11-06protocol: option to pad transaction relay to the next kBmoneromooo-monero1-0/+1
To help protect one's privacy from traffic volume analysis for people using Tor or I2P. This will really fly once we relay txes on a timer rather than on demand, though. Off by default for now since it's wasteful and doesn't bring anything until I2P's in.
2018-11-05unit_tests: fix leak when the test check failsmoneromooo-monero1-2/+2
Coverity 189527
2018-11-04simplewallet: print the number of show/all transfersmoneromooo-monero1-1/+0
2018-11-04wallet2: only export necessary outputs and key imagesmoneromooo-monero1-1/+13
and disable annoying test that requires ridiculous amounts of skullduggery every time some format changes
2018-11-04rct: add a zeroCommit cache for common pre-rct casemoneromooo-monero1-0/+19
This is called for every pre-rct output at blockchain sync time, and a lot of them wil hit the cache, saving a scalarmult each.
2018-11-01core: avoid unnecessary tx/blob conversionsmoneromooo-monero1-1/+1
2018-11-01unit_tests: notify test special case for the usual weirdomoneromooo-monero1-1/+5
2018-10-29tests: fix MSYS2 gcc 7.3.0 warning -Wtype-limitsxiphon1-1/+1
2018-10-27unit_tests: fix notify unit test when /tmp does not existmoneromooo-monero1-1/+9
2018-10-24unit_tests: notify test special case for the usual weirdomoneromooo-monero1-1/+5
2018-10-18Rename "blackball" for claritymoneromooo-monero1-5/+5
Apparently some people seem to think it's a censorship list...
2018-10-17unit_tests: fix notify test when run from make *testmoneromooo-monero1-1/+1
2018-10-16unit_tests: call umask before mkstempmoneromooo-monero1-0/+10
Coverity 188788
2018-10-08unit_tests: add unit test for alloc alignment being a power of 2moneromooo-monero1-0/+21
2018-10-07cryptonote: sort tx_extra fieldsmoneromooo-monero1-0/+84
This removes some small amount of fingerprinting entropy. There is no consensus rule to require this since this field is technically free form, and a transaction is free to have custom data in it.
2018-10-01Arbitrary M/N multisig schemes:naughtyfox1-104/+75
* support in wallet2 * support in monero-wallet-cli * support in monero-wallet-rpc * support in wallet api * support in monero-gen-trusted-multisig * unit tests for multisig wallets creation
2018-10-01unit_tests: add a notifier testmoneromooo-monero3-1/+117
2018-09-29Merge pull request #4459Riccardo Spagni2-34/+39
bcf3f6af fuzz_tests: catch unhandled exceptions (moneromooo-monero) 3ebd05d4 miner: restore stream flags after changing them (moneromooo-monero) a093092e levin_protocol_handler_async: do not propagate exception through dtor (moneromooo-monero) 1eebb82b net_helper: do not propagate exceptions through dtor (moneromooo-monero) fb6a3630 miner: do not propagate exceptions through dtor (moneromooo-monero) 2e2139ff epee: do not propagate exception through dtor (moneromooo-monero) 0749a8bd db_lmdb: do not propagate exceptions in dtor (moneromooo-monero) 1b0afeeb wallet_rpc_server: exit cleanly on unhandled exceptions (moneromooo-monero) 418a9936 unit_tests: catch unhandled exceptions (moneromooo-monero) ea7f9543 threadpool: do not propagate exceptions through the dtor (moneromooo-monero) 6e855422 gen_multisig: nice exit on unhandled exception (moneromooo-monero) 53df2deb db_lmdb: catch error in mdb_stat calls during migration (moneromooo-monero) e67016dd blockchain_blackball: catch failure to commit db transaction (moneromooo-monero) 661439f4 mlog: don't remove old logs if we failed to rename the current file (moneromooo-monero) 5fdcda50 easylogging++: test for NULL before dereference (moneromooo-monero) 7ece1550 performance_test: fix bad last argument calling add_arg (moneromooo-monero) a085da32 unit_tests: add check for page size > 0 before dividing (moneromooo-monero) d8b1ec8b unit_tests: use std::shared_ptr to shut coverity up about leaks (moneromooo-monero) 02563bf4 simplewallet: top level exception catcher to print nicer messages (moneromooo-monero) c57a65b2 blockchain_blackball: fix shift range for 32 bit archs (moneromooo-monero)
2018-09-29Merge pull request #4424Riccardo Spagni2-6/+6
92d1da28 unit_tests: fix build with GCC 5.4.0 on ubuntu (moneromooo-monero)
2018-09-29Merge pull request #4407Riccardo Spagni1-0/+24
43a06350 ringdb: use cursors to be a bit faster (moneromooo-monero)
2018-09-28unit_tests: fix longstanding DNS related unit testmoneromooo-monero1-1/+1
2018-09-23unit_tests: fix build with GCC 5.4.0 on ubuntumoneromooo-monero2-6/+6
2018-09-20ringdb: use cursors to be a bit fastermoneromooo-monero1-0/+24
2018-09-17api/wallet: properly disable key encryptionstoffu1-1/+1
2018-09-15unit_tests: sanity check on transaction weightmoneromooo-monero1-0/+32
2018-09-12Adding expect<T> - a value-or-error implementationLee Clagett2-0/+916
2018-09-12wipeable_string: add hex_to_pod functionmoneromooo-monero1-0/+7
2018-09-11bulletproofs: speed up the latest changes a bitmoneromooo-monero1-0/+7
2018-09-11unit_tests: add a few more multiexp unit testsmoneromooo-monero1-2/+52
2018-09-11v8: per byte fee, pad bulletproofs, fixed 11 ring sizemoneromooo-monero5-73/+73
2018-09-11bulletproofs: a few fixes from the Kudelski reviewmoneromooo-monero1-10/+0
- 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-11bulletproofs: reject points not in the main subgroupmoneromooo-monero1-0/+61
2018-09-11add pippenger unit testsmoneromooo-monero1-0/+55
2018-09-11precalc the ge_p3 representation of Hmoneromooo-monero1-0/+7
2018-09-11unit_tests: a couple more bulletproof unit tests for gammamoneromooo-monero1-0/+19
2018-09-11Bulletproof aggregated verification and testsmoneromooo-monero1-12/+16
Also constrains bulletproofs to simple rct, for simplicity
2018-09-11aligned: aligned memory alloc/realloc/freemoneromooo-monero2-1/+88
2018-09-11bulletproofs: add aggregated verificationmoneromooo-monero2-0/+36
Ported from sarang's java code
2018-09-11make straus cached mode thread safe, and add tests for itmoneromooo-monero2-0/+150
2018-09-11bulletproofs: add multi output bulletproofs to rctmoneromooo-monero2-1/+64
2018-09-11bulletproofs: multi-output bulletproofsmoneromooo-monero1-0/+19
2018-09-10record blackballs as amount/offset, and add export abilitymoneromooo-monero1-4/+4
2018-08-25is_hdd updatep8p2-1/+19
2018-08-23unit_tests: disable mlocker tests on windows (no implementation)moneromooo-monero1-0/+8
2018-08-23add and use constant time 32 byte equality functionmoneromooo-monero1-0/+15
2018-08-20unit_tests: add tests for incremental keccakmoneromooo-monero2-0/+151
2018-08-16common: add a class to safely wrap mlock/munlockmoneromooo-monero2-0/+187
This class will allow mlocking small objects, of which there may be several per page. It adds refcounting so pages are only munlocked when the last object on that page munlocks.