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