Commit Graph
100 Commits
Author SHA1 Message Date
moneromooo-monero c1fa4a7f8c boost: fix little/big endian compatibility
When no little/big endian flag is given to the writer, it stores
data in host endianness. When loading, if no flag is set, it also
assumes host endianness. This works as long as the loading and
writing are done on machines with the same endianness.

We change this to default to little endian when saving. This will
cause the loader to see the little endian flag, and swap endianness
when loading on a big endian machine. Similarly, writing on a big
endian machine will swap on save, and a little endian machine will
load little endian data.
2019-09-04 14:54:00 +00:00
moneromooo-monero 54fd97ae3f slow-hash: fix CNv2+ on big endian 2019-09-04 14:53:59 +00:00
moneromooo-monero 4672b5cea9 db_lmdb: print percentages as percentages, not ratios 2019-09-04 14:53:59 +00:00
moneromooo-monero 0e2fda5bf0 unit_tests: fix levin unit test on big endian 2019-09-04 14:53:58 +00:00
moneromooo-monero 516f7b9de0 storages: fix "portable" storage on big endian 2019-09-04 14:53:57 +00:00
moneromooo-monero 32c3834948 storages: fix writing varints on big endian 2019-09-04 14:53:57 +00:00
moneromooo-monero bdda084651 epee: fix local/loopback checks on big endian
IPv4 addresses are kept in network byte order in memory
2019-09-04 14:53:56 +00:00
moneromooo-monero d046ca1db0 difficulty: fix check_hash on big endian 2019-09-04 14:53:53 +00:00
moneromooo-monero 1a367d6a22 simplewallet: lock console on inactivity 2019-08-28 19:01:48 +00:00
moneromooo-monero 33e91e1a1e wallet, rpc: add a release field to get_version
It does not leak much since you can make a fair guess by RPC
version already, and some people want to avoid non release
clients when using third parties' nodes (because they'd never
lie about it)
2019-08-26 19:28:25 +00:00
moneromooo-monero f07524b56b device_ledger: fix uninitialized additional_key
Coverity 200185
2019-08-26 12:50:29 +00:00
moneromooo-monero 7c894fc7fd device_ledger: add paranoid buffer overflow check
Coverity 200183
2019-08-26 12:50:26 +00:00
moneromooo-monero 1dc3b1a516 wallet: add --extra-entropy command line flag
It lets the user add custom entropy to the PRNG.
It does this by hashing the new data and xoring the resulting
hash with the PRNG state.
2019-08-22 11:12:57 +00:00
moneromooo-monero fd60d05d5d daemon: fix print_pl only printing public zone peers 2019-08-19 23:39:51 +00:00
moneromooo-monero 2a41dc0453 epee: fix connections not being properly closed in some instances
Fixed by Fixed by crCr62U0
2019-08-19 22:09:55 +00:00
moneromooo-monero 839fc6256b reject setting lookahead major or minor to 0 2019-08-19 15:35:12 +00:00
moneromooo-monero 32b0560003 easylogging++: weed out most calls to allowed without locking 2019-08-19 14:52:14 +00:00
moneromooo-monero 3e11bb540e functional_tests: test creating wallets with local language names 2019-08-16 17:06:08 +00:00
moneromooo-monero eeca5ca0c8 epee: support unicode in parsed strings 2019-08-16 17:06:03 +00:00
moneromooo-monero 7d9b7fee43 functional_tests: add validate_address tests 2019-07-29 14:29:20 +00:00
moneromooo-monero a12ca687e0 translations: add a ready file to control which translations to build
Some translations are committed before they're ready to be used
2019-07-16 19:25:38 +00:00
moneromooo-monero 65c4004963 allow blocking whole subnets 2019-07-16 11:35:53 +00:00
moneromooo-monero 515ac2951d p2p: store network address directly in blocked host list
rather than their string representation
2019-07-16 11:35:52 +00:00
moneromooo-monero b350726a5a boost: update obsolete usage of endian API 2019-07-09 15:07:13 +00:00
moneromooo-monero 3140a378da wallet_rpc_server: fix get_bulk_payments with short payment ids 2019-07-09 14:39:44 +00:00
moneromooo-monero 4ee095c200 p2p: don't connect to more than one IP per class B if we can 2019-07-05 18:25:52 +00:00
moneromooo-monero c2238327d0 keccak: guard against misaligned memory accesses on ARM
The code generated is exactly the same as the direct access
one on x86_64
2019-07-04 22:13:16 +00:00
moneromooo-monero a96c1a46d4 cryptonote_protocol: drop peers we can't download from when syncing
Any peer that's behind us while syncing is useless to us (though
not to them). This ensures that we don't get our peer slots filled
with peers that we can't use. Once we've synced, we can connect
to them and they can then sync off us if they want.
2019-07-04 21:56:10 +00:00
moneromooo-monero ab361df2cd p2p: add a few missing connection close calls 2019-07-04 21:56:10 +00:00
moneromooo-monero a2484a1d5c README: add coredumpctl info from iDunk 2019-07-02 21:08:57 +00:00
moneromooo-monero 8be5fea1de simplewallet: optional all flag to export_outputs/export_key_images 2019-07-02 19:42:28 +00:00
moneromooo-monero bcd2da76cd miner: fix --bg-mining-enable description 2019-07-02 17:43:36 +00:00
moneromooo-monero 7b18e838ea unit_tests: check return values on test data parsing
Won't trigger in practice, but you never know when that code changes

Coverity 199723, 199685
2019-07-01 15:17:30 +00:00
moneromooo-monero c8709fe52f wallet: do not print log settings when unset
Coverity 199721
2019-07-01 15:17:30 +00:00
moneromooo-monero 4237707d3e p2p: don't forget pruning seed or public RPC port when updating peers
Older nodes don't pass that information around
2019-06-26 10:20:19 +00:00
moneromooo-monero a604241ef6 simplewallet: don't ask about mining when running a command line
This is likely to be done via a script
2019-06-22 10:50:20 +00:00
moneromooo-monero 3768db227c p2p: add a reference to Cao, Tong et al. for the last_seen changes
"Exploring the Monero Peer-to-Peer Network". https://eprint.iacr.org/2019/411
2019-06-21 10:34:33 +00:00
moneromooo-monero da3e20ee01 tx_sanity_check: relax the median check a lot
we don't want to prevent bona fide txes, just obvious bad ones
2019-06-19 23:31:38 +00:00
moneromooo-monero 098aadf084 p2p: close the right number of connections on setting max in/out peers 2019-06-19 11:49:36 +00:00
moneromooo-monero fcbf7b3f74 p2p: propagate out peers limit to payload handler 2019-06-19 11:49:36 +00:00
moneromooo-monero b2bfcab618 wallet2: fix change subaddress mixup when sending pre rct outputs 2019-06-19 09:39:16 +00:00
moneromooo-monero 5d6b43b672 core: fix --prune-blockchain not pruning if no blockchain exists 2019-06-17 16:26:43 +00:00
moneromooo-monero f81cb4f24b unit_tests: add more leeway to the "same distribution" check
This is an inherently probabilistic check, which occasionally fails
for a matching distribution
2019-06-16 12:18:28 +00:00
moneromooo-monero 3c071d203f blockchain: silence an error getting blocks for pruned nodes
This happens often when a pre-pruning node asks a pruned node
for data it does not have
2019-06-16 11:03:41 +00:00
moneromooo-monero 2ff99fb47f db_lmdb: commit pruning txn at checkpoints
to avoid errors when the txn is too large
2019-06-15 09:50:54 +00:00
moneromooo-monero 2eef90d6ef rpc: restrict the recent cutoff size in restricted RPC mode 2019-06-14 08:47:33 +00:00
moneromooo-monero 0564da5fdc ensure no NULL is passed to memcpy
NULL is valid when size is 0, but memcpy uses nonnull attributes,
so let's not poke the bear
2019-06-14 08:47:29 +00:00
moneromooo-monero bc09766bf9 abstract_tcp_server2: improve DoS resistance 2019-06-14 08:47:26 +00:00
moneromooo-monero 1387549e90 serialization: check stream good flag at the end
just in case
2019-06-14 08:47:23 +00:00
moneromooo-monero a00cabd4f3 tree-hash: allocate variable memory on heap, not stack
Large amounts might run out of stack

Reported by guidov
2019-06-14 08:47:20 +00:00
moneromooo-monero f215219252 cryptonote: throw on tx hash calculation error 2019-06-14 08:47:17 +00:00
moneromooo-monero db2b9fba65 serialization: fail on read_varint error 2019-06-14 08:47:14 +00:00
moneromooo-monero 68ad548193 cryptonote_protocol: fix another potential P2P DoS
When asking for txes in a fluffy transaction, one might ask
for the same (large) tx many times
2019-06-14 08:47:11 +00:00
moneromooo-monero 1cc61018e5 cryptonote_protocol: expand basic DoS protection
Count transactions as well
2019-06-14 08:47:08 +00:00
moneromooo-monero 39169ace09 epee: basic sanity check on allocation size from untrusted source
Reported by guidov
2019-06-14 08:47:01 +00:00
moneromooo-monero 69f9420489 core: do not complain about low block rate if disconnected
In that case, we'll still keep the "Monero is now disconnected
from the network" near the end of the log
2019-06-13 10:25:30 +00:00
moneromooo-monero b712ae0af2 rpc: work around a GCC 7.4.0 (at least) bug
In static member function ‘static boost::optional<cryptonote::rpc::output_distribution_data> cryptonote::rpc::RpcHandler::get_output_distribution(const std::function<bool(long unsigned int, long unsigned int, long unsigned int, long unsigned int&, std::vector<long unsigned int>&, long unsigned int&)>&, uint64_t, uint64_t, uint64_t, const std::function<crypto::hash(long unsigned int)>&, bool, uint64_t)’:
cc1plus: warning: ‘void* __builtin_memset(void*, int, long unsigned int)’: specified size 18446744073709551536 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=]
2019-06-12 22:27:07 +00:00
moneromooo-monero 03aa14ec87 tx_sanity_check: don't print an error when not enough outs to check 2019-06-12 12:06:14 +00:00
moneromooo-monero 14881094af rpc: fix get_transactions getting v1 txes from the txpool
It would try to get their prunable hash, but v1 txes don't have one
2019-06-12 11:59:13 +00:00
moneromooo-monero e2848894c9 cmake: do not use -mmitigate-rop on GCC >= 9.1
It was removed, but it still accepted by the compiler, which warns
for every file
2019-06-09 09:40:47 +00:00
moneromooo-monero 35c20c4332 Fix GCC 9.1 build warnings
GCC wants operator= aand copy ctor to be both defined, or neither
2019-06-09 09:39:18 +00:00
moneromooo-monero 643c86a62a miniupnpc: update to build on BSD 2019-06-08 18:38:51 +00:00
moneromooo-monero 2cbe75661c p2p: fix GCC 9.1 crash 2019-06-08 17:52:53 +00:00
moneromooo-monero 068fa1ca5c p2p: delay IGP probing on startup
We might have external access without having to do this
2019-06-06 10:33:02 +00:00
moneromooo-monero c820e1839f simplewallet: print errors on exceptions creating wallets
Exceptions would otherwise terminate the process silently
2019-06-06 09:49:47 +00:00
moneromooo-monero 880ebfdeea daemon: add more chain specific info in alt_chain_info 2019-06-01 15:43:52 +00:00
moneromooo-monero 2aa11341fc daemon: display peer address type in print_cn 2019-05-31 09:10:05 +00:00
moneromooo-monero cb92d5cb2c cmake: push cmake away from boost as much as we can
Everything works better without cmake.
2019-05-30 19:38:02 +00:00
moneromooo-monero fcfcc3ac86 rpc: in/out peers can now return the setting's value 2019-05-30 12:13:31 +00:00
moneromooo-monero 77594c4f4a functional_tests: fix python3 compatibility
Also add missing bans test to the default tests
2019-05-29 11:59:48 +00:00
moneromooo-monero f950517a08 core: update pruning if using --prune-blockchain on a pruned blockchain
Avoids a massive amount of spurious warnings if the last update before
the daemon exited was a while ago and the daemon was syncing
2019-05-28 09:12:11 +00:00
moneromooo-monero 35da33bea9 blockchain: do not try to pop blocks down to the genesis block 2019-05-26 17:11:32 +00:00
moneromooo-monero 4b51f9a34f core: do not commit half constructed batch db txn 2019-05-25 16:24:56 +00:00
moneromooo-monero 162c3e18ec blockchain_export: allow exporting blocks.dat format from pruned
We don't need any of the pruned data for this
2019-05-24 14:12:45 +00:00
moneromooo-monero c07bbd5c04 daemon: fix "never seen before" time span display for peers 2019-05-24 10:47:36 +00:00
moneromooo-monero 4ac52e523d functional_tests: fix rare get_output_distribution failure
When the wallet auto refreshes after mining the last two blocks
but before popping them, it will then try to use outputs which
are not unlocked yet. This is really a wallet problem, which
will be fixed later.
2019-05-20 13:45:36 +00:00
moneromooo-monero dbecfe7d5d unit_tests: make the density test a bit less stringent
It's an inherently random test
2019-05-20 10:42:50 +00:00
moneromooo-monero 915f59e3c0 wallet: add unlock_time details to show_transfers
also add a note when receiving the tx, because the user
might not notice the "XXX blocks to unlock" in the balance.
2019-05-16 21:37:05 +00:00
moneromooo-monero 615f287aec wallet: fix certificate fingerprint length check
Fixed by crCr62U0
2019-05-11 13:05:06 +00:00
moneromooo-monero e1016bce14 password: do not use line input on windows
This keeps its builtin command editing away

Thanks iDunk for testing on Windows
2019-05-10 18:56:50 +00:00
moneromooo-monero 46244dd08c wallet_rpc_server: use original addresses in destinations in get_transfers
And add them for pending transfers, where they were missing
2019-05-10 14:44:13 +00:00
moneromooo-monero 9a6006bad8 abstract_tcp_server2: move some things out of a lock
The lock is meant for the network throttle object only,
and this should help coverity get unconfused
2019-05-10 14:18:11 +00:00
moneromooo-monero 6abaaaa994 remove obsolete save_graph skeleton code 2019-05-10 14:17:18 +00:00
moneromooo-monero de27651f80 use crypto::rand instead of libc rand in a few tests
We don't need secure randomness here, but it should shut coverity up
2019-05-10 14:15:35 +00:00
moneromooo-monero f61a315e8b net_utils: fix m_ssl type from time_t to bool 2019-05-10 14:14:49 +00:00
moneromooo-monero 9a7a453f25 net_ssl: free certs after setting them up 2019-05-10 00:16:49 +00:00
moneromooo-monero 1e8f3f66bf rpc: fail update RPC when running offline 2019-05-09 19:14:49 +00:00
moneromooo-monero ddf7890730 python-rpc: add missing getblock RPC parameters 2019-05-09 11:48:54 +00:00
moneromooo-monero 4228ee0b9e daemon: add optional arguments to alt_chain_info
>N limits display to alt chains with more than N blocks
-N limits display to alt chains younger than N blocks
2019-05-09 09:13:11 +00:00
moneromooo-monero 0605406714 daemon: sort alt chains by height 2019-05-09 09:12:49 +00:00
moneromooo-monero 06b8f29992 blockchain: keep alternative blocks in LMDB
Alternative blocks are cleared on startup unless --keep-alt-blocks
is passed on the command line
2019-05-08 17:36:52 +00:00
moneromooo-monero a62e072571 net_ssl: SSL config tweaks for compatibility and security
add two RSA based ciphers for Windows/depends compatibility
also enforce server cipher ordering
also set ECDH to auto because vtnerd says it is good :)

When built with the depends system, openssl does not include any
cipher on the current whitelist, so add this one, which fixes the
problem, and does seem sensible.
2019-05-07 10:01:42 +00:00
moneromooo-monero 367bb80ae7 mlog: default to not showing SSL errors 2019-05-06 07:38:52 +00:00
moneromooo-monero b8b957deaa cmake: fix incorrect hint for OPENSSL_ROOT_DIR
If you use a ; separated set of include and lib directories,
it'll detect the headers in /usr/include and the libraries
where this points to.
2019-05-06 07:38:42 +00:00
moneromooo-monero e4d100b062 wallet2: don't wait a day before using new version fees
30 blocks should be more than enough to drain the txpool of
transactions made with the old fee scheme
2019-05-02 18:00:25 +00:00
moneromooo-monero bc94ba4d14 wallet: distinguish between empty and absent attributes 2019-05-02 13:00:08 +00:00
moneromooo-monero d47292eb3d error: fix compile error on windows with depends
state_not_recoverable is not defined there
2019-05-02 10:14:09 +00:00
moneromooo-monero a4c4a2d8aa blockchain: keep a rolling long term block weight median 2019-05-02 09:47:01 +00:00
moneromooo-monero da694d418a functional_tests: add tests for pending/out transfer addresses 2019-05-02 09:04:42 +00:00
moneromooo-monero 914b1061d4 wallet_rpc_server: use original addresses in destinations in get_transfers
And add them for pending transfers, where they were missing
2019-05-02 09:04:39 +00:00