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
moneromooo-monero
31c69923ba
protocol: don't reset last request time on an idle timer
...
this prevents losing time of "idle time" for a peer, which could
otherwise be reset by another timed sync command from the peer
2020-12-30 14:22:10 +00:00
moneromooo-monero
1eb14af1a3
rpc: limit the number of txes for get_blocks.bin
2020-12-29 04:31:58 +00:00
moneromooo-monero
353f93ee1a
portable_storage: remove array element limit
...
some people don't want it
2020-12-28 21:04:58 +00:00
moneromooo-monero
bcdc6c62b7
protocol: fix false positives dropping peers
...
it'd trigger on reorgs
2020-12-27 14:41:19 +00:00
moneromooo-monero
bc97eb8a33
portable_storage: remove overly aggressive cutoff
2020-12-27 12:44:38 +00:00
moneromooo-monero
4310780c08
cryptonote_basic: guess what got lost porting patches to branches again
2020-12-26 23:43:59 +00:00
moneromooo-monero
95575cda6e
epee: fix some issues using connections after shutdown
2020-12-26 14:14:55 +00:00
moneromooo-monero
7f407c0274
portable_storage: add some sanity checks on data size
...
especially when allocated size is >> serialized data size
2020-12-26 03:22:59 +00:00
moneromooo-monero
efe83982d3
protocol: drop nodes if they claim new data but only give stale data
...
Some joker is spending time actually doing this
2020-12-25 20:30:39 +00:00
moneromooo-monero
d2fda6c25f
restrict public node checks a little
...
do not include blocked hosts in peer lists or public node lists by default,
warn about no https on clearnet and about untrusted peers likely being spies
2020-12-22 23:39:07 +00:00
moneromooo-monero
56748e1d74
ban lists may now include subnets
2020-12-22 02:12:41 +00:00
moneromooo-monero
e9abfea165
Optional DNS based blocklist
...
If enabled, pulls IPs to block on blocklist.moneropulse.*, and
blocks then for 8 days (so IPs dropping from the list will
eventually get unblocked, and DNS failures don't result in
instant clearing of the blocklist).
Enable with --enable-dns-blocklist
2020-12-20 02:09:58 +00:00
moneromooo-monero
5a1ac9c0ef
rpc: add a busy_syncing field to get_info
...
true if and pretty much only if new blocks are being added
2020-12-17 18:03:11 +00:00
moneromooo-monero
cf7e1571d3
protocol: reject claimed block hashes that already are in the chain
2020-12-17 02:54:02 +00:00
moneromooo-monero
af0a25544e
protocol: drop peers we can't download anything from in sync mode
...
instead of the (incorrect) check for whether we think we might have
a user for it at some point in the near future. We can reconnect.
2020-12-16 20:19:52 +00:00
moneromooo-monero
f3c0d4f9df
protocol: remove unused (and cunningly uninitialized) field
2020-12-15 01:32:18 +00:00
moneromooo-monero
8e62362cd3
p2p: ifx getting seed nodes for uncommon cases
...
The code is technically correct, but liable to easily become incorrect with changes
2020-12-15 01:32:15 +00:00
moneromooo-monero
0660db3e7a
fuzz_tests: add a test for utf8canonical
2020-12-14 19:40:24 +00:00
moneromooo-monero
9de3787c47
daemon: the ban command can now load IPs from a file (ban @filename)
2020-12-14 12:26:23 +00:00
moneromooo-monero
68637bca3f
p2p: remove peers from grey and anchors lists when blocked
2020-12-13 23:27:44 +00:00
moneromooo-monero
58651d16c0
p2p: ignore incoming peer list entries when we have them blocked
2020-12-13 23:14:05 +00:00
moneromooo-monero
543733d42c
protocol: include first new block in chain entry response
2020-12-12 01:36:35 +00:00
moneromooo-monero
62e8ca5eaf
protocol: revert incoming chain height check against local chain
...
We can actually request a chain that's further away from what we
have as we buffer more and more
2020-12-11 02:37:15 +00:00
moneromooo-monero
cd7e9769d8
protocol: one more sanity check on usable data from a peer
2020-12-10 23:02:06 +00:00
moneromooo-monero
d660f22ed1
protocol: drop origin IP if a block fails to verify in sync mode
...
It would otherwise be possible for a peer to send bad blocks,
then disconnect and reconnect again, escaping bans
2020-12-10 21:59:18 +00:00
moneromooo-monero
dd5e689533
protocol: add calls to reserve where appropriate
2020-12-10 20:47:35 +00:00
moneromooo-monero
5dee031b25
protocol: add a sanity check to the number of block hashes sent
2020-12-10 19:26:12 +00:00
moneromooo-monero
eb77790dfb
protocol: fix asking for pruned blocks for v10
...
Old format is still alloewd there, this is a two fork update
2020-12-10 18:10:45 +00:00
moneromooo-monero
7f30c49731
simplewallet: don't complain about connecting to the daemon when offline
2020-12-10 17:57:13 +00:00
moneromooo-monero
0f34cabb98
protocol: more restrictive checks on chain entry response
2020-12-10 17:23:50 +00:00
moneromooo-monero
47590fc80b
rpc: report target height as 0 when synced
...
since it only makes sense when syncing, and it confuses people
2020-12-10 17:05:34 +00:00
moneromooo-monero
19f77578e0
protocol: fix switchting to adding blocks if noone's adding the next span
2020-12-10 15:46:48 +00:00
moneromooo-monero
8ee3ec7296
cmake: fix "release" version string on tagged releases
...
It would not say "release" if we're on a previous tag
2020-12-09 22:18:44 +00:00
moneromooo-monero
281b42a281
p2p: fix race condition accessing a deleted context
2020-12-06 12:40:07 +00:00
moneromooo-monero
14bc5c095c
db_lmdb: move spammy "not found in db" message to TRACE
...
These are functions that check whether a tx is in the db, so whether
it is there or not is really not interesting, and it seems to scare
people from time to time
2020-12-06 01:46:21 +00:00
moneromooo-monero
a4e42b2d4c
bump my key expiration date by 2 more years
2020-12-05 18:19:56 +00:00
moneromooo-monero
bc7cd78870
p2p: drop peers that spam peer lists
...
There's always some people who just want to abuse things
2020-12-05 13:12:58 +00:00
moneromooo-monero
5ed604fe5b
crypto: fix non zero scalar being 0 after reducing
2020-12-04 01:00:03 +00:00
moneromooo-monero
2395e0e678
p2p: add a tor seed node
2020-12-03 23:45:38 +00:00
moneromooo-monero
c64b94bd14
p2p: fix endianness when checking IPv6 addresses mapping to IPv4
2020-12-03 00:31:32 +00:00
moneromooo-monero
67f2bec2df
p2p: make this work with boost <= 1.65 (pffff)
2020-12-03 00:31:32 +00:00
moneromooo-monero
c5f6629f4a
epee: tighten the URL parsing regexp a little
...
fixes massive amounts of time spent on pathological inputs
Found by OSS-Fuzz
2020-11-09 13:05:39 +00:00
moneromooo-monero
f9527e608e
protocol: reject empty incoming block messages
2020-11-03 12:59:36 +00:00
moneromooo-monero
1f04a3186b
p2p: use /16 filtering on IPv4-within-IPv6 addresses
...
IPv6 addresses include a range that can map IPv4 addresses,
which allowed those mapped addresses to bypass filtering.
This filter should be replaced by AS filtering at some point.
2020-11-03 00:46:07 +00:00
moneromooo-monero
19d1b35905
add a convenience script to start monero with inbound tor
2020-10-28 22:38:27 +00:00
moneromooo-monero
874487fed8
blockchain: remove some dead code
...
This is already done
2020-10-20 16:50:36 +00:00
moneromooo-monero
cc034fe0c3
util: fix escaping more than one ?* in glob_to_regex
2020-10-20 16:46:53 +00:00
moneromooo-monero
c67fa32496
bump default number of connections from 8 to 12
2020-10-18 13:25:05 +00:00
moneromooo-monero
88fde0309a
blockchain: fix sync at v14 boundary
...
Miners with MLSAG txes which they'd already verified included
a couple in that block, but the consensus rules had changed
in the meantime, so that block is technically invalid and any
node which did not already have those two txes in their txpool
could not sync. Grandfather them in, since it has no effect in
practice.
2020-10-18 11:52:33 +00:00
moneromooo-monero
453b8e267c
README: add OSS-fuzz status banner
2020-10-17 16:41:24 +00:00
moneromooo-monero
aaa3289e22
add more updates domains and make the voting generic, not just 2/3
2020-10-15 14:06:44 +00:00
moneromooo-monero
fcbfb0a00a
wallet2: fix missing m_state field in wallet serialization
2020-10-12 15:35:52 +00:00
moneromooo-monero
11b20229c9
tx_pool: silence spammy harmless warning till we fix the bug
2020-10-12 14:07:40 +00:00