Age | Commit message (Collapse) | Author | Files | Lines |
|
only "fastest" mode was working, others would SEGV.
|
|
Needed to add the corresponding (dummy) method to unit test hardfork
|
|
30f92f5 Fix hf when import with verify off (Howard Chu)
|
|
Delete the hf tables, so the next open will rescan and regenerate
|
|
b9c7ba1 added checkpoints (Riccardo Spagni)
|
|
|
|
a583a96 bumped version to 0.9.1 for point release (Riccardo Spagni)
|
|
|
|
945ac78 hardfork: fix accepting v2 blocks too early (moneromooo-monero)
|
|
0100e95 'max limit of...' is redundant wording, rephrase (binaryFate)
80e3889 Print msg when successfully updating out_peers (binaryFate)
|
|
e98a3f2 Fix da0bce34 (Howard Chu)
|
|
0b6be41 There has never been any such function "fnctl" (Howard Chu)
|
|
|
|
|
|
|
|
It was only a typo of fcntl. Get rid of this test.
|
|
Windows doesn't define a default linker
|
|
8ce12a9 Fix arm asm (Howard Chu)
94de39f Tweak arm6 flags (Howard Chu)
|
|
fcf31f3 Cleanup symbol clashes, stdlib header (Howard Chu)
|
|
c5baf30 use load_file_to_string and exit with error on file read errors (Fabian Hirschmann)
7b2d27f remove new lines at the end of the password only (Fabian Hirschmann)
302cc9c add --password-file option (Fabian Hirschmann)
|
|
664dc42 rpc: fix missing target information in RPC call (moneromooo-monero)
eaf4dcd daemon: fix status command when run from command line (moneromooo-monero)
67bbb56 wallet2: decide at runtime which upper tx size to use (moneromooo-monero)
a44d94d rpc: is_key_image_spent now checks the tx pool too (moneromooo-monero)
|
|
About 10% faster than plain C mul128 on raspi1B
|
|
|
|
|
|
which fixes the status command via RPC too.
Turns out there are two versions of the GET_INFO call.
I'd never noticed before.
|
|
|
|
The value will be different depending on whether we've reached
the first hard fork, which allows a larger size, or not.
This fixes transactions being rejected by the daemon on mainnet
where the first hard fork is not yet active.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a52cf36 fix: cmake parse error on Ubuntu 14.04 (moneroexamples)
|
|
7f8e5ce daemon: fix ban length using wrong parameter (moneromooo-monero)
|
|
a8caab1 unit_tests: initialize db object in ctor, not open (moneromooo-monero)
|
|
|
|
|
|
|
|
|
|
Parse error. Expected a command name, got unquoted argument with text "]]"
Reason: Block comments are avaliable in cmake 3.0 not in 2.8 which is used in Ubuntu 14.04
|
|
flags were being accumulated instead of being set.
Win32 was getting -O2 -DNDEBUG -Ofast -DNDEBUG etc...
Also for Win32, stay compatible to WinXP
|
|
|
|
open isn't actually called in those tests
|
|
|
|
|
|
e6dc448 updated readme, note CMake minimum version increase (Riccardo Spagni)
5c71f5d update version (Riccardo Spagni)
|
|
|
|
|
|
1e07110 Nicer looking exit when blockchain.bin is found (moneromooo-monero)
|
|
Do not print the exception message, and write the important bit
in red, since people will only read the last line otherwise.
|
|
40f97ce core: do not use the persistent pool state for tests (moneromooo-monero)
|
|
Fixes intermittent test failures when the pool contains
unexpected transactions that were brought in from the
live pool.
|
|
88b0fb1 let miniupnp's cmakelist handle defaults (Riccardo Spagni)
|
|
|
|
5c67c48 wallet: don't forget to close the file after storing cache (moneromooo-monero)
|
|
Also add some flags to open, as epee's save_string_to_file does,
to truncate file, etc.
|
|
2c82eb7 fix miniupnpc cmakelist (Riccardo Spagni)
|
|
|
|
de03926 updated copyright year (Riccardo Spagni)
810a112 fixed copyrights with bad year references (Riccardo Spagni)
|
|
|
|
|
|
10ae003 isblank doesn't need a special case test (Howard Chu)
a090ee9 Fix 3edbf57b62feeaba1f31683f24b9d76d75e03902 (Howard Chu)
|
|
1813736 unit_tests: remove an unused variable (moneromooo-monero)
70dd346 unit_tests: fix hardfork test build (moneromooo-monero)
|
|
576effe blockchain: kill ioservice on scope end, rather than manually (moneromooo-monero)
ed5d017 miner: minor fixes on stop (moneromooo-monero)
b245215 core_tests: deinit core before destroying it (moneromooo-monero)
bc8a52e wallet: add a rescan_bc command and rescan_blockchain RPC (moneromooo-monero)
92ef6b5 wallet: protect against exceptions in the block pull thread (moneromooo-monero)
af21061 net_peerlist: move a couple functions from public to private (moneromooo-monero)
|
|
|
|
The test for isblank was being ignored
|
|
|
|
The dummy blockchain class needed to have the newly added
is_read_only virtual function.
|
|
This ensures this will be done without fail, as the error prone
matching of every return with a call to KILL_IOSERVICE leads to
hard to debug corruption when one is missing.
|
|
- only try to stop if actually started
- print number of threads before zeroing it
This fixes the suspiciously doubled "Mining has been stopped"
message on exit.
|
|
This fixes a use after free by ioservice threads
|
|
Blockchain hashes and key images are flushed, and blocks are
pulled anew from the daemon.
The console command is shortened to match bc_height.
This should make it a lot easier on users who are currently
told to remove this particular cache file but keep the keys
one, etc, etc.
|
|
This can happen when the daemon exits, which would also cause
the wallet to crash via unhandled exception
|
|
They do not take the object lock, and are meant to be used only
internally, called from a function which does take the lock.
|
|
3edbf57 fix missing unbound tests (Riccardo Spagni)
2d43ae8 update unbound, fix unbound openssl issue on OS X (Riccardo Spagni)
|
|
|
|
|
|
32a2633 no longer need to pass the size to rapidjson (Riccardo Spagni)
bd8e0fd add missing miniupnpc files, modify cmake to not build miniupnpc tests and to fix an issue with finding miniupnpcstrings (Riccardo Spagni)
7da9905 updated miniupnpc (Riccardo Spagni)
|
|
|
|
to fix an issue with finding miniupnpcstrings
|
|
|
|
61befc2 wallet: store cache to file without unnecessary memory buffer (moneromooo-monero)
|
|
61ce8d6 wallet_rpc_server: exit async, so we reply to stop_wallet RPC (moneromooo-monero)
9847db6 wallet: do not return error if incoming_transfers finds none (moneromooo-monero)
|
|
0953355 blockchain_db: inform user about new format if blockchain.bin is found (moneromooo-monero)
|
|
b39aae7 Tweak 45800a25e9374e63caaabba05c89585c86acd668 (hyc)
4a5a5ff blockchain: always stop the ioservice before returning (moneromooo-monero)
78b65cf db_lmdb: safety close db at exit (moneromooo-monero)
45800a2 db_lmdb: fix a strdup/delete[] mistmatch (moneromooo-monero)
|
|
b773e66 MDB_VL32 - resync with master (Howard Chu)
|
|
fc34132 Remove assert from status command (hyc)
|
|
ee9d71e BlockchainDB: skip fixup check if read-only database (warptangent)
|
|
b0541a5 blockchain: remove obsolete containers (moneromooo-monero)
18a5211 blockchain: Fix height in call to on_blockchain_dec (moneromooo-monero)
|
|
|
|
50ee591 hardfork: ensure current_fork_index can not become negative on rescan (moneromooo-monero)
b90e14d tests: add a unit test for canonical decomposed amounts (moneromooo-monero)
|
|
Tweak 45800a25e9374e63caaabba05c89585c86acd668
|
|
trivial cleanup
|
|
Reported by saddam
|
|
|
|
Fixes a use after free
|
|
WIN32 - close file mapping handle in env_close
cursor_unref - ignore cursor with empty stack
|
|
reported by saddam
|
|
Noticed by hyc
Also set m_open to false when closed
|
|
|
|
Crashes every time...
|
|
|
|
|
|
It was a noop anyway
|
|
|
|
|
|
79beed2 tests: fix various tests by using parameters better suited to monero (moneromooo-monero)
d0a8362 tests: fix some double spending tests (moneromooo-monero)
2358d0d tests: use 255 as a "too high" block version (moneromooo-monero)
f33a88c blockchain: fix a few block addition bugs (moneromooo-monero)
a9ff11c blockchain: fix an off by one error in unlocked time check (moneromooo-monero)
f294be3 blockchain: reinstate double spending checks in check_tx_inputs (moneromooo-monero)
737b6d6 blockchain: make some flag twiddling code closer to the original (moneromooo-monero)
81cb0fc blockchain: fix bitflipping test with quantized block rewards (moneromooo-monero)
22ddf09 blockchain: add missing m_tx_pool.on_blockchain_dec (moneromooo-monero)
d837c0c blockchain: fix switch to alternative blockchain for more than one block (moneromooo-monero)
5cec076 blockchain: add a missing validity check to rollback_blockchain_switching (moneromooo-monero)
3cabdb5 core: catch exceptions from get_output_key (moneromooo-monero)
5eef645 db: throw when given a non txout_to_key output to add (moneromooo-monero)
|
|
Either smaller coin values (as monero has smaller block rewards),
or pre-hard fork values (full reward zone), or post-Bytecoin values
(emission speed).
|
|
Some tests assume the first output in a transaction goes to the recipient.
However, it can be the change. When it is, the recipient's keys will not
recognize this output. To fix this, we send all we have, to ensure there
is no change, and the first output goes to the recipient.
I'm not sure why this worked with Cryptonote. The tests sent 17 coins,
which seems way smaller than the first Bytecoin block reward, so there
would have been change too. Maybe outputs were not shuffled originally.
|
|
While the original cryptonote accepted only the current major
version, we can accept higher ones.
|
|
If the block reward was too high, the verification failed flag
was set, but the function continued. The code which was supposed
to trap this flag and return failure failed to trap it, and,
while the block was not added to the chain, the function would
return success.
The reason for avoiding returning when the block reward problem
was detected was to be able to return any transactions to the
pool if needed. This is now mooted by moving the transaction
return code to a separate function, which is now called at all
appropriate points, making the logic much simpler, and hopefully
correct now.
We also move the hard fork version check after the prev_id check,
as block which does not go on the top of the chain might not
have the expected version there, without being invalid just for
this reason.
Last, we trap the case where a block fails to be added due to
using already spent key images, to set the verification failed
flag.
|
|
|
|
This fixes some double spending tests.
This may or may not be unneeded in normal (non test) circumstances,
to be determined later. Keeping these for now may be slower, but safer.
|
|
Probably paranoid and unnecessary
|
|
Block reward may now be less than the full amount allowed.
This was breaking the bitflipping test.
We now keep track of whether a block which was accepted by the core
has a lower than allowed block reward, and allow this in the test.
|
|
It was missing in the port to DB.
This is actually a noop, so should not have functional changes.
|
|
When rolling over more than one block, the db height will decrease,
but the split height should be constant, as per the original code.
|
|
It was present in the original code
|
|
This can happen when trying to find an amount that does not exist,
and fixes a core test.
|
|
The check was explicit in the original version, so it seems
safer to make it explicit here, especially as it is now done
implicitely in a different place, away from the original check.
|
|
ba4e217 Update liblmdb, unify 32/64 sources (Howard Chu)
|
|
d4c2fae BlockchainDB: Remove txs in reverse order (warptangent)
|
|
ffcf6bd BlockchainLMDB: When removing, find amount output index fast by starting at end (warptangent)
f11def0 BlockchainLMDB: Remove tx outputs in reverse order (warptangent)
|
|
791e7fb changed height to uint64_t (Brendan Telzrow)
4cd7913 added RPC wallet command getheight (Brendan Telzrow)
|
|
|
|
Data should be removed in the reverse order it was added. Not doing so
breaks assumptions and can cause problems in other DB implementations.
This matches the order of tx removal in
blockchain_storage::purge_block_data_from_blockchain.
|
|
This improves blockchain reorganization time by allowing one of the more
expensive DB lookups when popping a block to not have to seek through a
long dup list in the "output_amounts" subdb. This is most noticeable for
HDDs.
As before, the dup list is still walked if necessary (but in reverse),
and the global output index still confirmed to be the one looked for.
But under proper use, the result will be found at the end of the dup
list, so we start there.
Removing an amount output index is always done in the context of popping
a block, so the global output index being looked for should be the last
one in that amount key's dup list. Even if the txs themselves aren't
removed in reverse order (supposed to be according to original
implementation), the specified amount output index will still be near
the end, because the txs are in the same block.
TEST:
Pop blocks with blockchain_import.
Blocks should be successfully removed with no errors shown.
bitmonerod should be able to start syncing from the reduced blockchain
height.
|
|
Data should be removed in the reverse order it was added.
This matches the order of removal in
blockchain_storage::pop_transaction_from_global_index.
|
|
6c86859 unit_tests: fix hard fork tests (moneromooo-monero)
8b0200a unit_tests: new test for IP blocking (moneromooo-monero)
|
|
47ca455 fixed missing parenthesis (Riccardo Spagni)
|
|
A couple stopped passing when the hard fork code was made
to reject incoming hard fork versions it did not know about.
|
|
|
|
|
|
a004130 fix for 'failed to generate new wallet: failed to save file' error during wallet generation (Lex Kalinkin)
|
|
wallet generation
|
|
|
|
|
|
22581a0 epee: regularly cleanup connections we kept a reference to (moneromooo-monero)
|
|
Since connections from the ::connect method are now kept in
a deque to be able to cancel them on exit, this leaks both
memory and a file descriptor. Here, we clean those up after
30 seconds, to avoid this. 30 seconds is higher then the
5 second timeout used in the async code, so this should be
safe. However, this is an assumption which would break if
that async code was to start relying on longer timeouts.
|
|
26c5118 README.md: mention --no-igd in the Tor paragraph (moneromooo-monero)
|
|
1e2f2d7 epee: fix hang on exit (moneromooo-monero)
17ff6f2 net_node: fix a hang on exit (moneromooo-monero)
|
|
|
|
When the boost ioservice is stopped, pending work notifications
will not happen. This includes deadline timers, which would
otherwise time out the now cancelled I/O operations. When this
happens just after starting a new connect operation, this can
leave that operations in a state where it won't receive either
the completion notification nor a timeout, causing a hang.
This is fixed by keeping a list of connections corresponding
to the connect operations, and cancelling them before stopping
the boost ioservice.
Note that the list of these connections can grow unbounded, as
they're never cleaned up. Cleaning them up would involve
working out which connections do not have any pending work,
and it's not quite clear yet how to go about this.
|
|
One loop was not paying attention to the stop signal, and could
end up looping forever
|
|
9428d53 Strip redundant includes (hyc)
|
|
cfe15b8 Also set stacksize for Win32 not on MSVC (Howard Chu)
|
|
8c93608 wallet: fix load/save versioning bug for recently added tx data (moneromooo-monero)
|
|
af1da98 README.md: fix Tor paragraph to use warptangent's TCP DNS changes (moneromooo-monero)
|
|
8ea7af1 Allow the wallet to access hard fork information (moneromooo-monero)
760331b epee: make log macros behave like statements (moneromooo-monero)
3f2970f Add missing semicolons after log statements (moneromooo-monero)
|
|
bd15f97 README.md: mention rlwrap usage (moneromooo-monero)
|
|
0ab56b8 print top block hash in daemon diff command (moneromooo-monero)
|
|
In particular, <boost/program_options.hpp> blows up daemon.cpp.obj,
making it too big to compile in debug mode on Win32. Even on a
release build it drops daemon.cpp.o on Linux from 31MB to 20MB.
This has no effect on the final linked binary size.
|
|
|
|
The version number passed to those data's serialize function
was always 0, not the wallet's version as I had expected.
A version number now exists for these structures so they're
versioned correctly.
|
|
|
|
|
|
And make it change behavior slightly when close/after first hard fork
|
|
In particular, make this kind of thing do what one expects
it to do:
if (x) LOG_PRINT("True"); else LOG_PRINT("No");
|
|
|
|
and add top block hash in get_info RPC
|
|
01e92eb replace std::auto_ptr with std::unique_ptr (moneromooo-monero)
|
|
63cb1a5 move another non user useful log to L1 (moneromooo-monero)
02827d5 p2p: minor log formatting fix (moneromooo-monero)
|
|
9b4f8b4 wallet: save to a temporary file, then rename (moneromooo-monero)
|
|
The former is obsolete
|
|
|
|
|
|
This should avoid most of wallet cache corruption cases
|
|
5131b26 Replace tabs and remove trailing whitespace (warptangent)
0d40de4 Optionally restrict DNS queries to TCP (warptangent)
|
|
9079a32 Fix typo (warptangent)
3796941 blockchain.cpp: Change indentation from 4 to 2 spaces (warptangent)
725acc7 Replace tabs with two spaces for consistency with rest of codebase (warptangent)
|
|
|
|
Sample use:
DNS_PUBLIC=tcp torsocks bin/bitmonerod --p2p-bind-ip 127.0.0.1
Test:
Run above with --log-level 4 with and without DNS_PUBLIC environment
variable set.
DNS debugging info should show successful DNS lookups only when
DNS_PUBLIC is set to "tcp":
DNS lookup for seeds.moneroseeds.se: 17 results
DNS lookup for seeds.moneroseeds.ae.org: 17 results
DNS lookup for seeds.moneroseeds.ch: 12 results
DNS lookup for seeds.moneroseeds.li: 12 results
|
|
|
|
|
|
Remove trailing whitespace in same files.
|
|
75fd96d Revert connection limit to more customary 8 (Javier Smooth)
|
|
bf45505 README.md: add a bit of info about using bitmonerod with Tor (moneromooo-monero)
|
|
d462c62 db_lmdb: always use a batch tx if possible (moneromooo-monero)
|
|
a74cc1b hardfork: only accept major versions we know about (moneromooo-monero)
|
|
cb4ee1b Tone down L0 logs during daemon sync some more (moneromooo-monero)
2177923 Tone down a bit L0 logs during daemon sync (moneromooo-monero)
|
|
fefc0b5 daemon: fix crash exiting with ^C (moneromooo-monero)
|
|
|
|
|
|
Also wrap that code in two prefix/suffix macros so they are
easier to use and not forget. Also add consts to returned data
casts where applicable.
|
|
|
|
|
|
|
|
We need to stop the p2p layer, which causes the rest to shutdown
gracefully. Hitting ^C was still going through another path.
|
|
7f77b23 posix_daemonizer: only create the main daemon object in the last child (moneromooo-monero)
|
|
79ff6a5 Add LMDB error string to database transaction exception message (warptangent)
|
|
cbded43 core_tests: fix ring_signature_1 tests (moneromooo-monero)
c3d208f core_tests: bump default test fee to 0.02 monero (moneromooo-monero)
10da0a0 add a --fakechain argument for tests (moneromooo-monero)
eee44e6 unit_tests: fix block reward test using post hard fork settings (moneromooo-monero)
595893f blockchain: log block (not chain) height in "BLOCK SUCCESFULLY ADDED" (moneromooo-monero)
2369968 blockchain: fix off by one in get_blocks (moneromooo-monero)
8af913a db_lmdb: implement BlockchainLMDB::reset (moneromooo-monero)
4833f4f db_bdb: implement BlockchainBDB::reset (moneromooo-monero)
18bf06e tx_pool: fix "minumim" typo in message (moneromooo-monero)
44f1267 tests: fix a typo in test name (moneromooo-monero)
1494557 db_lmdb: create all needed directories, not just the leaf one (moneromooo-monero)
015b68a db_bdb: create all needed directories, not just the leaf one (moneromooo-monero)
f141869 tests: remove data-dir argument registration (moneromooo-monero)
|
|
0198306 Stop displaying internal commands for --help (luigi1111)
189d516 simplewallet help & error cleanup (luigi1111)
|
|
This prevents the intermediate thread from exiting properly, as
fork creates a child process with only one thread, so any existing
data_logger thread will not be in the child. Since this thread
sets a flag the data_logger dtor blocks on, all children threads
will hang on exit.
|
|
d98d5e7 Fix data refs in read-only txns (Howard Chu)
|
|
When throwing an exception from being unable to begin an LMDB
transaction, include the reason.
It's often been due to a write transaction attempted within a write
transaction (batch mode), but there can be other reasons such as write
transaction attempted while database was opened read only, or
environment's map needs to be resized.
|
|
They were trying to send too much monero, and thus failing.
The parameters were set in such a way that the (simple) output
gathering code could fulfill them for 4 block rewards for the
original Bytecoin emission, but that does not work with monero
so we need to use smaller values.
|
|
The current monero consensus uses 0.01 per kB fees, so use enough
for 2 kB transactions for now. It'll probably have to be either
bumped further or changed to calculate the proper fee.
|
|
The core tests use the blockchain, and reset it to be able
to add test data to it. This does not play nice with the
databases, since those will save that data without an explicit
save call.
We add a fakechain flag that the tests will set, which tells
the core and blockchain code to use a separate database, as
well as skip a few things like checkpoints and fixup, which
only make sense for real data.
|
|
This would fail, as the post hard fork settings would yield
different data, and the test expects pre hard fork data.
|
|
This makes it log the same height as the original code, which is
less confusing when comparing behaviors.
|