Commit Graph

43 Commits

Author SHA1 Message Date
wowario 952b0492d9 initial commit 2021-08-29 23:56:47 +03:00
moneromooo-monero 7175dcb107
replace most boost serialization with existing monero serialization
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-17 16:23:58 +00:00
SomaticFanatic 5ef0607da6 Update copyright year to 2020
Update copyright year to 2020
2020-05-06 22:36:54 -04:00
luigi1111 06bee964a8
Merge pull request #5878
f9b3f6e Removed Berkeley DB and db switching logic (JesusRami)
2019-09-24 10:10:28 -05:00
Jesus Ramirez f9b3f6ef3b Removed Berkeley DB and db switching logic 2019-09-16 16:18:05 +02:00
stoffu 2425f27acd
blockchain_blackball: use is_output_spent instead of ringdb.blackballed for spentness test 2019-08-22 21:34:47 +09:00
stoffu 9f68669503
blockchain_blackball: add --historical-stat which prints historical stats of spent ratio 2019-08-22 21:34:40 +09:00
moneromooo-monero 25a7cfdb4a
add a few checks where it seems appropriate 2019-04-29 20:52:40 +00:00
binaryFate 1f2930ce0b Update 2019 copyright 2019-03-05 22:05:34 +01:00
stoffu 7c58421c79
blockchain_blackball: make log file name consistent with executable 2018-12-22 14:46:35 +09:00
moneromooo-monero 2be31b4c9c
blockchain_blackball: spot when all outputs of an amount are spent 2018-11-24 11:07:15 +00:00
moneromooo-monero 99cd6f961a
Rename "blackball" for clarity
Apparently some people seem to think it's a censorship list...
2018-10-18 18:45:45 +00:00
moneromooo-monero 77471e23bd
blockchain_blackball: fix stray ! 2018-10-08 17:37:31 +00:00
moneromooo-monero 85e58cb24a
blockchain_blackball: fix stats double counting 2018-10-08 08:55:56 +00:00
Riccardo Spagni effcbf2060
Merge pull request #4459
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-29 22:20:38 +02:00
moneromooo-monero 4cb1d879f6
blockchain_blackball: s/return false;/return 0;/ 2018-09-14 20:08:52 +00:00
moneromooo-monero 9bdc9109fb
blockchain_blackball: use %zu for size_t 2018-09-14 17:16:08 +00:00
moneromooo-monero db3db0930e
blockchain_blackball: use mdb_size_t where appropriate 2018-09-14 17:11:11 +00:00
moneromooo-monero b1f05f589e
blockchain_blackball: error out on fgets error 2018-09-14 16:31:24 +00:00
moneromooo-monero a54dbaee08
blockchain_blackball: add --force-chain-reaction-pass flag 2018-09-10 09:04:21 +00:00
moneromooo-monero 44439c3208
record blackballs as amount/offset, and add export ability 2018-09-10 09:04:18 +00:00
moneromooo-monero 4bce935b40
blockchain_blackball: more optimizations 2018-09-09 12:03:02 +00:00
moneromooo-monero b66ba78306
blockchain_blackball: do not process duplicate blockchains parts 2018-09-09 12:02:48 +00:00
moneromooo-monero 639a3c019c
blockchain_blackball: make it clear secondary passes are not incremental
yet
2018-09-09 12:02:42 +00:00
moneromooo-monero eb8a51be68
blockchain_blackball: detect spent outputs by partial ring reuse 2018-09-09 12:02:39 +00:00
moneromooo-monero d6d276c604
blockchain_blackball: fix chain reaction phase in incremental mode
It makes it a lot slower, unfortunately
2018-09-09 12:02:36 +00:00
moneromooo-monero 2b2a681b01
blockchain_blackball: avoid false positives for different amounts
Identical offset based rings may not actually be identical rings
since they represent different outputs
2018-09-09 12:02:32 +00:00
moneromooo-monero 80e4fef3c6
blockchain_blackball: set transaction looping txn to read only 2018-09-09 12:02:25 +00:00
moneromooo-monero 4801d6b514
blockchain_blackball: add stats 2018-09-09 12:02:02 +00:00
moneromooo-monero 846190fd18
blockchain_blackball: support pre-v2 databases 2018-09-09 12:01:59 +00:00
moneromooo-monero daa6cc7d73
blockchain_blackball: use LMDB for the cache
This uses less memory and makes it faster to load/save, though
makes it slower to run (which is actually faster since it would
previously start swapping anyway).
2018-09-09 12:01:49 +00:00
moneromooo-monero 50cb370d5b
ringdb: allow blackballing many outputs at once
It cuts down on txn commits, and speeds up blackballing substantially
2018-09-09 12:01:43 +00:00
luigi1111 4d66939791
Merge pull request #4196
361513a blockchain_blackball: use a bit less memory (moneromooo-monero)
2018-08-15 18:13:08 -05:00
moneromooo-monero 361513ac81
blockchain_blackball: use a bit less memory 2018-08-09 14:50:20 +00:00
moneromooo-monero 5860611afa
blockchain_blackball: allow resumable interrupt with ^C 2018-07-30 11:14:45 +01:00
luigi1111 7935bc5f6b
Merge pull request #3924
afed978 Fixes #3645: error on freebsd lambda return values forced to std::string (rockhouse)
2018-06-20 14:41:05 -05:00
S afed9787cd Fixes #3645: error on freebsd lambda return values forced to std::string 2018-06-04 13:44:17 +02:00
moneromooo-monero e09710f76e
blockchain_blackball: also blackball N N-sized duplicate rings
These are unlikely to happen at random, but Wijaya et al made
a paper about it, so people might try it on purpose now (and it
turns out it's easy to add anyway)
2018-05-30 11:45:20 +01:00
moneromooo-monero 66f4700f57
blockchain_blackball: add incremental mode 2018-05-30 11:45:16 +01:00
moneromooo-monero 3367ed863c
blockchain_blackball: fix build with CLANG 5
It doesn't like the explicit NULL dereference (which is fine, honest)
2018-04-12 13:51:26 +01:00
moneromooo-monero 504428ab4a
ringdb: use the genesis block as a db name
This will avoid careless forkers polluting the shared database
even if they make their own chain. They'll then automatically
start using another subdb, and any key-reusing fork of those
forks will reuse their subdbs.
2018-03-16 10:32:54 +00:00
moneromooo-monero db10dd6d83
wallet: make ringdb an object with database state 2018-03-16 10:32:42 +00:00
moneromooo-monero df6fad4c62
blockchain_utilities: new blockchain_blackball tool
It scans for known spent outputs and stores their public keys
in a database which can then be read by the wallet, which can
then avoid using those as fake outs in new transactions.

Usage: monero-blockchain-blackball db1 db2...

This uses the shared database in ~/.shared-ringdb
2018-03-16 10:32:39 +00:00