Age | Commit message (Collapse) | Author | Files | Lines |
|
7fdaa82 Fix build on FreeBSD/!x86 (pkubaj)
0f4fddc Add also ifdef __x86_64__ (pkubaj)
|
|
ec14abd tx_pool: make spent return-by-reference as intended (stoffu)
|
|
4d22317 wallet2: don't delete file that may not exist (selsta)
|
|
ec7f2ff p2p: reject invalid rpc_port in peer lists (xiphon)
|
|
4ce40ed p2p: reject invalid pruning seeds in peer lists (moneromooo-monero)
|
|
93d5cf2 wallet2: add ignore-outputs-{above/below} option (stoffu)
|
|
16498dc simplewallet.cpp - clean up welcome message (SomaticFanatic)
|
|
e48dcb7 levin: armour against some 'should not happen' case (moneromooo-monero)
|
|
c65a221 unit_tests: fix build after rename (moneromooo-monero)
|
|
|
|
If adding a response handler after the protocol is released,
they could never be cancelled again, and would end up keeping
a ref that never goes away
|
|
d4d2b5c p2p+rpc: don't skip p2p or rpc port bind failure by default (xiphon)
|
|
c9cfbf7 epee: tcp server - set SO_LINGER instead of SO_REUSEADDR option (xiphon)
|
|
d37d30f blockchain: tweak fee as a function of median values (moneromooo-monero)
|
|
6b4bc0d RPC on_transfer_split error consistent with on_transfer if no tx sent (binaryFate)
|
|
4b654f6 abstract_tcp_server2: log pointer, not contents, where appropriate (moneromooo-monero)
|
|
3455efa ban peers sending bad pow outright (moneromooo-monero)
|
|
b295e3c simplewallet: reinstate short payment id nag, only if non default (moneromooo-monero)
455f9e3 wallet2: ignore received unencrypted payment IDs (but warn hard) (moneromooo-monero)
19c0506 wallet: remove long payment ID sending support (moneromooo-monero)
4d0aadc wallet_rpc_server: don't report integrated addresses for 0 payment ID (moneromooo-monero)
|
|
These are dummy ones
|
|
|
|
|
|
|
|
|
|
Checking battery status uses x86-only headers and functions. Remove this functionality to get it to build on other architectures.
|
|
|
|
77afe91 unit_tests: fix build with boost 1.69 (moneromooo-monero)
|
|
|
|
080ea73 easylogging++: fix build with glibc (moneromooo-monero)
|
|
|
|
8330e77 monerod can now sync from pruned blocks (moneromooo-monero)
|
|
ae34e1b unit_tests: fix ringdb unit tests (moneromooo-monero)
|
|
1c600a4 Fix randomx cache selection for RPCs (hyc)
2675cf4 Update to RandomX v1.1.3, simplify (hyc)
f54301d Fix for miners on reorg (hyc)
|
|
24473d7 build: fix MinGW GUI dependencies build (xiphon)
|
|
f3b65c6 Request a thread stack size that is large enough for unbound (omartijn)
|
|
6d378d9 easylogging++: always omit ANSI codes when colour is not supported (moneromooo-monero)
|
|
74a23e9 protocol: only print sync complete message when out of precompiled hashes (moneromooo-monero)
|
|
5bcbd97 Disable easylogging crash log on non-glibc libraries (omartijn)
|
|
2a7d915 Fixed i2p/tor tx flooding bug (white noise disabled) (vtnerd)
|
|
4371791 epee: implement handshake timeout for SSL connections (xiphon)
|
|
7d81850 epee: fix network timeouts in blocked_mode_client (xiphon)
|
|
Make sure dataset gets re-init'd if a reorg changes the epoch
|
|
|
|
We don't need to detect if the cache has changed, just always
call to set it on the VM. The call will be a no-op if the cache
hasn't changed.
|
|
|
|
|
|
Was using the wrong cache slot, and returning invalid PoW hashes to RPC clients
|
|
|
|
|
|
|
|
https://github.com/aeonix/aeon/pull/131
|
|
Fixed a typo ("and -are- not visible to the world by default"), removed a few redundant commas, and capitalized words inside the URL.
|
|
9baf2a7 build: link wallet_merged against blockchain_db and hardforks obj (xiphon)
|
|
dbc7c44 README: fix TOC link (selsta)
|
|
1b91beb abstract_tcp_server2: fix lingering connections (moneromooo-monero)
|
|
7336864 refresh language files (erciccione)
|
|
bd9c12e simplewallet: remove erroneously added line under subaddress-lookahead (stoffu)
|
|
b9da023 blockchain: keep block template timestamp not below recent median (moneromooo-monero)
|
|
6bbc646 Fix bug in mempool get_transaction_stats histogram calculation (tomsmeding)
|
|
6185d6d README: Add deps for translations and hardware wallet support (glv2)
|
|
fdc00d0 unit tests: replace global var with lambda returning static local var (stoffu)
|
|
c89f7ef wallet2_api: fix load unsigned tx from file error propagation (xiphon)
|
|
Coverity fixes [3a81639, 1bd962d, 2825f07, d099658, d46f701, cd57a10] (anonimal)
|
|
5f8524e Streamline build setup (hyc)
|
|
Use the lesser of the short and long terms medians, rather then
the long term median alone
From ArticMine:
I found a bug in the new fee calculation formula with using only the long term median
It actually needs to be the lesser of the long term median and the old (modified short term median)
short term median with the last 10 blocks calculated as empty
Yes the issue occurs if there is a large long term median and, the short term median then falls and tries to then rise again
The fees are could be not high enough
for example LTM and STM rise to say 2000000 bytes
STM falls back to 300000 bytes
Fees are now based on 2000000 bytes until LTM also falls
So the STM is could prevented from rising back up
STM short term median LTM long term median
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
81c2ad6d RandomX integration (Howard Chu)
|
|
Support RandomX PoW algorithm
|
|
fcfa6665 Don't set ARCH_ID if it's already set (Howard Chu)
|
|
Usually it's unset, but depends toolchain files set it explicitly
for cross-compiling. Don't override preset values. But make sure
it's set for all x86 / x86_64 builds, not just Linux.
Also make sure -std=c++11 is set for Darwin builds, not all
submodules were getting it consistently before.
|
|
31bf2e25 Revert "easylogging++: ensure it finds boost headers" (moneromooo-monero)
614d6b57 easylogging++: split strings manually (moneromooo-monero)
|
|
PoW is expensive to verify, so be strict
|
|
Unbound uses a 64 kb large character array on the stack, which
leads to a stack overflow for some libc implementations. musl
only gives 80 kb in total. This PR changes the stack size for
these threads to 1mb, which solves the segmentation fault.
|
|
This reverts commit 9a95827ea72574c3e861aa3167c0b96b9bae64b3.
|
|
Avoids cmake skullduggery
|
|
9a95827 easylogging++: ensure it finds boost headers (moneromooo-monero)
|
|
|
|
Use shorter, prefix-unique directory names
gitian-builder -> builder
gitian-sigs -> sigs
monero-binaries -> out
Just use builder/inputs/monero, no need for 2nd repo clone
|
|
8933955 epee: misc_log_ex.h can now be used in C code (moneromooo-monero)
|
|
|
|
use mfatal/merror/mwarning/minfo/mdebug/mtrace
|
|
7b076d5 p2p: fix bans taking port into account (moneromooo-monero)
|
|
3699544 cmake: add protolib to zmq dependency libs (stoffu)
|
|
Revert a96c1a4 and adc16d2 (moneromooo-monero)
|
|
ab2819a depends: attempt to fix readline (iDunk5400)
|
|
e09dbc6 depends: fix monero binaries Boost linking errors (iDunk5400)
|
|
ae32862 README: fix master branch spelling, it is not Master (moneromooo-monero)
|
|
This avoids most premature triggers
|
|
7de6671 Add the iwyu target to get information on unused headers (omartijn)
|
|
a444f06 blockchain: enforce 10 block age for spending outputs (moneromooo-monero)
|
|
11fa442 Makefile: add a top level debug target for ASAN (moneromooo-monero)
|
|
f9b3f6e Removed Berkeley DB and db switching logic (JesusRami)
|
|
2cd4fd8 Changed the use of boost:value_initialized for C++ list initializer (JesusRami)
4ad191f Removed unused boost/value_init header (whyamiroot)
928f4be Make null hash constants constexpr (whyamiroot)
|
|
0c55837 contrib: add a suppressions file for leak sanitizer (moneromooo-monero)
|
|
32f725d Properly format multiline logs (moneromooo-monero)
|
|
functional_tests (moneromooo-monero)
|
|
d066383 core: move hardforks into its own lib (moneromooo-monero)
|
|
- easylogging assumes certain non-standard headers and functions
- these function only exist in glibc
- compiling under linux without glibc thus broke compilation
|
|
So it can be used by others without encumbrance
|
|
|
|
Some custom wallet code apparently ignores this, which causes users
of that code to be fingerprinted
|
|
|
|
|
|
and add missing tests
|
|
|
|
|
|
Also fix part of the RPC results being returned as binary.
This makes the RPC backward incompatible.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
though not a very good test, but we don't have dust handy
|
|
|
|
|
|
|
|
As a side effect, colouring on Windows should now work
regardless of version
|
|
|
|
|
|
f0356f7 wallet2: enable ignoring fractional outputs also when sweeping (stoffu)
|
|
f91a06c Dropping cppzmq dependency; adding some zmq utils (vtnerd)
|
|
7d3bba5 wallet2_api: add missing parameter (selsta)
|
|
73f22c4 depends: fix MacOS build with Clang 3.7.1 (vtnerd)
|
|
928a540 updating Readme.md TOC (HarryMacfinned)
|
|
f380f69 simplewallet: warn if invalid default ring size is set and actually ignore the setting (stoffu)
|
|
495a7e5 rpc: don't include an address in mining_status when not mining (moneromooo-monero)
|
|
3407743 wallet_rpc_server: add locked field to get_transfers/get_{bulk_,}_payments (moneromooo-monero)
|
|
83ca764 wallet_rpc_server: call deinit on exit (moneromooo-monero)
|
|
6e46b06 cmake: ensure PYTHON_EXECUTABLE is set (moneromooo-monero)
|
|
1f1fff2 daemon: print mining algorithm in mining_status even when not mining (moneromooo-monero)
|
|
21f6c80 rpc: move a leftover light wallet RPC out of daemon RPC (moneromooo-monero)
|
|
11f13da blockchain: fix logging bad number of blocks if first one fails (moneromooo-monero)
19bfe7e simplewallet: fix warnings about useless std::move (moneromooo-monero)
|
|
2cb22d4 core: make the 'update probably needed soon' message less scary (moneromooo-monero)
|
|
26072f1 blockchain: forbid v1 coinbase from v12 (moneromooo-monero)
555dc7c core: from v12, require consistent ring size for mixable txes (moneromooo-monero)
d22dfb7 blockchain: reject rct signatures in coinbase txes from v12 (moneromooo-monero)
|
|
Resetting the timer after shutdown was initiated would keep
a reference to the object inside ASIO, which would keep the
connection alive until the timer timed out
|
|
Such a template would yield an invalid block, though would require
an attacker to have mined a long blockchain with drifting times
(assuming the miner's clock is roughly correct)
Fixed by crCr62U0
|
|
|
|
Needed for Ubuntu 19.04:
https://ubuntu.pkgs.org/19.04/ubuntu-universe-amd64/libnorm-dev_1.5.8+dfsg2-1_amd64.deb.html
|
|
|
|
This reverts commit a96c1a46d4b3854252de75cbe09458ad5d1aecb0.
|
|
This reverts commit adc16d2504d3e76b0115791caf10446684d45433.
|
|
|
|
|
|
updating the TOC
|
|
It would try to link against host system Boost libs when building outside gitian. Tested with x86_64-linux-gnu target.
|
|
Fixes assertion failure (curstate == 1) in random.c in debug mode
|
|
a5c7eeb unit_tests: fix build with CLANG 8 and boost 1.69 (moneromooo-monero)
|
|
5f4bd92 Fix Travis build on Windows + Mac (hyperreality)
|
|
e907305 ITS#9068 fix backslash escaping (hyc)
|
|
f56e160 unit_tests: Fix uninitialized values (liptakmatyas)
|
|
2ec455d wallet: fix mismatch between two concepts of 'balance' (moneromooo-monero)
|
|
cbdd76d readme: remove snap monero package and add debian (erciccione)
|
|
c4da1a2 wallet2: fix unset_ring tx retrieval checks (moneromooo-monero)
|
|
b51f4cd daemon: add pruned and publicrpc flags to print_pl (moneromooo-monero)
|
|
894cc81 wallet2: fix cold signing losing tx keys (moneromooo-monero)
|
|
9f68669 blockchain_blackball: add --historical-stat which prints historical stats of spent ratio (stoffu)
2425f27blockchain_blackball: use is_output_spent instead of ringdb.blackballed for spentness test (stoffu)
50813c1 ringdb: fix bug in blackballing (stoffu)
|
|
87d2f06 simplewallet: moan harder about untrusted nodes (moneromooo-monero)
|
|
cae488d p2p: reject incoming connections to self (moneromooo-monero)
|
|
063eebb daemon: implement 'set_bootstrap_daemon' command (xiphon)
|
|
e353e3d p2p: sanitize peer lists (moneromooo-monero)
|
|
2e26536 p2p: move log away from global (moneromooo-monero)
|
|
26f7a26 device: fix ledger requesting secret keys export twice (xiphon)
|
|
289d215 rpc: fix unitialized 'core_rpc_server::m_was_bootstrap_ever_used' (xiphon)
|
|
5a4c6cc daemon: fix merge error removing the 'never seen before' timestamp check (moneromooo-monero)
|
|
d046ca1 difficulty: fix check_hash on big endian (moneromooo-monero)
bdda084 epee: fix local/loopback checks on big endian (moneromooo-monero)
32c3834 storages: fix writing varints on big endian (moneromooo-monero)
516f7b9 storages: fix 'portable' storage on big endian (moneromooo-monero)
0e2fda5 unit_tests: fix levin unit test on big endian (moneromooo-monero)
4672b5c db_lmdb: print percentages as percentages, not ratios (moneromooo-monero)
54fd97a slow-hash: fix CNv2+ on big endian (moneromooo-monero)
c1fa4a7 boost: fix little/big endian compatibility (moneromooo-monero)
bc1144e Fix IP address serialization on big endian (moneromooo-monero)
|
|
|
|
|
|
The problem actually exists in two parts:
1. When sending chunks over a connection, if the queue size is
greater than N, the seed is predictable across every monero node.
>"If rand() is used before any calls to srand(), rand() behaves as if
it was seeded with srand(1). Each time rand() is seeded with the same seed, it
must produce the same sequence of values."
2. The CID speaks for itself: "'rand' should not be used for security-related
applications, because linear congruential algorithms are too easy to break."
*But* this is an area of contention.
One could argue that a CSPRNG is warranted in order to fully mitigate any
potential timing attacks based on crafting chunk responses. Others could argue
that the existing LCG, or even an MTG, would suffice (if properly seeded). As a
compromise, I've used an MTG with a full bit space. This should give a healthy
balance of security and speed without relying on the existing crypto library
(which I'm told might break on some systems since epee is not (shouldn't be)
dependent upon the existing crypto library).
|
|
Make readline actually compile, and make ncurses use existing terminfo data (if available).
|
|
|
|
The issue is triggered by the captured `this` in RPC server, which
passes reference to throwable `core_rpc_server`:
`core_rpc_server.cpp:164: m_bootstrap_daemon.reset(new bootstrap_daemon([this]{ return get_random_public_node(); }));`
The solution is to simply remove noexcept from the remaining `bootstrap_daemon`
constructors because noexcept is false in this context.
>"An exception of type "boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::asio::invalid_service_owner>>" is thrown but the throw list "noexcept" doesn't allow it to be thrown. This will cause a call to unexpected() which usually calls terminate()."
|
|
|
|
|
|
|
|
|
|
Simplify m_template initialization in miner
|
|
With this change, building the iwyu target will provide information
on unused headers, which can be removed to reduce compilation times.
|
|
One considers the blockchain, while the other considers the
blockchain and some recent actions, such as a recently created
transaction which spend some outputs, but isn't yet mined.
Typically, the "balance" command wants the latter, to reflect
the recent action, but things like proving ownership wants
the former.
This fixes a crash in get_reserve_proof, where a preliminary
check and the main code used two concepts of "balance".
|
|
Much easier to work with than the raw unlock_time field
|
|
IP addresses are stored in network byte order even on little
endian hosts
|
|
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.
|
|
|
|
|
|
|
|
|
|
|