aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-01-28MDB_VL32 Fix off-by-one in mdb_midl_shrinkHoward Chu1-1/+1
2016-01-27MDB_VL32 Fix another 32bit overflowHoward Chu1-1/+1
2016-01-27Tweak mdb_strerror msg bufferHoward Chu1-3/+4
2016-01-27MDB_VL32 Fix d2a5f72f73e0e4030b521086b13b8c8efaf9ca9eHoward Chu1-1/+1
VirtualAlloc is not for MDB_VL32
2016-01-27updated gtest (added missing files)Riccardo Spagni5-0/+525
2016-01-27updated gtestRiccardo Spagni17-888/+884
2016-01-27even more typosHenning Kopp1-2/+2
2016-01-27more typos fixedHenning Kopp3-4/+4
2016-01-27fixed typoHenning Kopp1-1/+1
2016-01-27simplewallet: remove leftover command line refresh-type handlingmoneromooo-monero2-5/+0
2016-01-25Merge pull request #620Riccardo Spagni1-1/+1
15d9ac8 wallet2: update spent comparison now that we have two spent states (moneromooo-monero)
2016-01-25Merge pull request #618Riccardo Spagni11-20/+49
64f4cd9 My markdown-fu sucks :P (me0wmix) a6794e2 Instructions updated to include g++ package and omit optional packages (me0wmix) 34ebfe3 Last fixups in the Cmake stuff and better default build instruction (me0wmix) 82ecb3f More formatting fixes to instructions (me0wmix) efc771d Corrected formatting on OpenBSD instructions (me0wmix) c965bf4 Added/corrected OpenBSD build instructions. (me0wmix) 28f95eb OpenBSD support for Monero. (me0wmix)
2016-01-24My markdown-fu sucks :Pme0wmix1-1/+1
2016-01-24Instructions updated to include g++ package and omit optional packagesme0wmix1-3/+5
2016-01-24wallet2: update spent comparison now that we have two spent statesmoneromooo-monero1-1/+1
2016-01-22Last fixups in the Cmake stuff and better default build instructionme0wmix2-11/+2
2016-01-21More formatting fixes to instructionsme0wmix1-1/+3
2016-01-21Corrected formatting on OpenBSD instructionsme0wmix1-2/+5
2016-01-21Added/corrected OpenBSD build instructions.me0wmix2-2/+11
2016-01-21OpenBSD support for Monero.me0wmix10-19/+41
2016-01-20Merge pull request #616Riccardo Spagni1-1/+1
1cff397 WIN64 needs off_t redefined too (Howard Chu)
2016-01-20Merge pull request #615Riccardo Spagni1-4/+6
24b6624 db_lmdb: Continue when tx has no outputs (warptangent)
2016-01-20WIN64 needs off_t redefined tooHoward Chu1-1/+1
2016-01-19db_lmdb: Continue when tx has no outputswarptangent1-4/+6
2016-01-17Merge pull request #614Riccardo Spagni2-1/+2
d2a5f72 Fix --db-sync-mode on Windows64 (Howard Chu) 4cf6e2b Fix 30f92f5630bbc7507708275a29a9ae7acf633a5b (Howard Chu)
2016-01-16Fix --db-sync-mode on Windows64Howard Chu1-1/+1
only "fastest" mode was working, others would SEGV.
2016-01-16Fix 30f92f5630bbc7507708275a29a9ae7acf633a5bHoward Chu1-0/+1
Needed to add the corresponding (dummy) method to unit test hardfork
2016-01-15Merge pull request #613v0.9.1Riccardo Spagni6-0/+30
30f92f5 Fix hf when import with verify off (Howard Chu)
2016-01-15Fix hf when import with verify offHoward Chu6-0/+30
Delete the hf tables, so the next open will rescan and regenerate
2016-01-15Merge pull request #612Riccardo Spagni1-0/+8
b9c7ba1 added checkpoints (Riccardo Spagni)
2016-01-15added checkpointsRiccardo Spagni1-0/+8
2016-01-15Merge pull request #611Riccardo Spagni1-1/+1
a583a96 bumped version to 0.9.1 for point release (Riccardo Spagni)
2016-01-15bumped version to 0.9.1 for point releaseRiccardo Spagni1-1/+1
2016-01-15Merge pull request #610Riccardo Spagni1-2/+1
945ac78 hardfork: fix accepting v2 blocks too early (moneromooo-monero)
2016-01-15Merge pull request #609Riccardo Spagni3-2/+4
0100e95 'max limit of...' is redundant wording, rephrase (binaryFate) 80e3889 Print msg when successfully updating out_peers (binaryFate)
2016-01-15Merge pull request #608Riccardo Spagni2-0/+2
e98a3f2 Fix da0bce34 (Howard Chu)
2016-01-15Merge pull request #607Riccardo Spagni1-1/+0
0b6be41 There has never been any such function "fnctl" (Howard Chu)
2016-01-15hardfork: fix accepting v2 blocks too earlymoneromooo-monero1-2/+1
2016-01-14'max limit of...' is redundant wording, rephrasebinaryFate3-3/+3
2016-01-14Print msg when successfully updating out_peersbinaryFate1-0/+2
2016-01-12There has never been any such function "fnctl"Howard Chu1-1/+0
It was only a typo of fcntl. Get rid of this test.
2016-01-12Fix da0bce34Howard Chu2-0/+2
Windows doesn't define a default linker
2016-01-12Merge pull request #606Riccardo Spagni2-25/+65
8ce12a9 Fix arm asm (Howard Chu) 94de39f Tweak arm6 flags (Howard Chu)
2016-01-12Merge pull request #605Riccardo Spagni2-2/+5
fcf31f3 Cleanup symbol clashes, stdlib header (Howard Chu)
2016-01-12Merge pull request #603Riccardo Spagni1-0/+25
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)
2016-01-12Merge pull request #601Riccardo Spagni5-11/+64
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)
2016-01-11Fix arm asmHoward Chu1-24/+64
About 10% faster than plain C mul128 on raspi1B
2016-01-11Tweak arm6 flagsHoward Chu1-1/+1
2016-01-11Cleanup symbol clashes, stdlib headerHoward Chu2-2/+5
2016-01-11rpc: fix missing target information in RPC callmoneromooo-monero2-0/+3
which fixes the status command via RPC too. Turns out there are two versions of the GET_INFO call. I'd never noticed before.
2016-01-11daemon: fix status command when run from command linemoneromooo-monero1-1/+1
2016-01-10wallet2: decide at runtime which upper tx size to usemoneromooo-monero2-6/+20
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.
2016-01-09use load_file_to_string and exit with error on file read errorsFabian Hirschmann1-3/+9
2016-01-09remove new lines at the end of the password onlyFabian Hirschmann1-2/+2
2016-01-09add --password-file optionFabian Hirschmann1-0/+19
2016-01-05rpc: is_key_image_spent now checks the tx pool toomoneromooo-monero3-4/+40
2016-01-03Merge branch 'LMDB-tweaks'Riccardo Spagni7-25/+23
2016-01-03fixed conflictsRiccardo Spagni7-25/+23
2016-01-03Merge pull request #595Riccardo Spagni1-2/+6
a52cf36 fix: cmake parse error on Ubuntu 14.04 (moneroexamples)
2016-01-03Merge pull request #594Riccardo Spagni1-1/+1
7f8e5ce daemon: fix ban length using wrong parameter (moneromooo-monero)
2016-01-03Merge pull request #593Riccardo Spagni1-1/+2
a8caab1 unit_tests: initialize db object in ctor, not open (moneromooo-monero)
2016-01-03ARMv7 optimization flags are too aggressiveHoward Chu1-2/+2
2016-01-03ARM chars are unsignedHoward Chu1-1/+1
2016-01-03Use CMAKE_LINKER, not hardcoded "ld"Howard Chu2-4/+4
2016-01-03Avoid cmake-3.x block comment syntaxHoward Chu1-4/+6
2016-01-03fix: cmake parse error on Ubuntu 14.04moneroexamples1-2/+6
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
2016-01-02Fix release flagsHoward Chu1-2/+6
flags were being accumulated instead of being set. Win32 was getting -O2 -DNDEBUG -Ofast -DNDEBUG etc... Also for Win32, stay compatible to WinXP
2016-01-02daemon: fix ban length using wrong parametermoneromooo-monero1-1/+1
2016-01-02unit_tests: initialize db object in ctor, not openmoneromooo-monero1-1/+2
open isn't actually called in those tests
2016-01-02IP_TOS not supported before Windows7Howard Chu1-1/+4
2016-01-02Get rid of doubly-defined NDEBUGHoward Chu1-7/+0
2016-01-01Merge pull request #588v0.9.0Riccardo Spagni13-17/+22
e6dc448 updated readme, note CMake minimum version increase (Riccardo Spagni) 5c71f5d update version (Riccardo Spagni)
2016-01-01updated readme, note CMake minimum version increaseRiccardo Spagni1-2/+6
2015-12-31update versionRiccardo Spagni12-15/+16
2015-12-31Merge pull request #587Riccardo Spagni3-31/+25
1e07110 Nicer looking exit when blockchain.bin is found (moneromooo-monero)
2015-12-31Nicer looking exit when blockchain.bin is foundmoneromooo-monero3-31/+25
Do not print the exception message, and write the important bit in red, since people will only read the last line otherwise.
2015-12-31Merge pull request #586Riccardo Spagni2-1/+7
40f97ce core: do not use the persistent pool state for tests (moneromooo-monero)
2015-12-31core: do not use the persistent pool state for testsmoneromooo-monero2-1/+7
Fixes intermittent test failures when the pool contains unexpected transactions that were brought in from the live pool.
2015-12-31Merge pull request #585Riccardo Spagni2-4/+1
88b0fb1 let miniupnp's cmakelist handle defaults (Riccardo Spagni)
2015-12-31let miniupnp's cmakelist handle defaultsRiccardo Spagni2-4/+1
2015-12-31Merge pull request #584Riccardo Spagni1-1/+3
5c67c48 wallet: don't forget to close the file after storing cache (moneromooo-monero)
2015-12-31wallet: don't forget to close the file after storing cachemoneromooo-monero1-1/+3
Also add some flags to open, as epee's save_string_to_file does, to truncate file, etc.
2015-12-31Merge pull request #583Riccardo Spagni1-3/+11
2c82eb7 fix miniupnpc cmakelist (Riccardo Spagni)
2015-12-31fix miniupnpc cmakelistRiccardo Spagni1-3/+11
2015-12-31Merge pull request #582Riccardo Spagni348-337/+337
de03926 updated copyright year (Riccardo Spagni) 810a112 fixed copyrights with bad year references (Riccardo Spagni)
2015-12-31updated copyright yearRiccardo Spagni339-328/+328
2015-12-31fixed copyrights with bad year referencesRiccardo Spagni9-9/+9
2015-12-31Merge pull request #581Riccardo Spagni2-7/+2
10ae003 isblank doesn't need a special case test (Howard Chu) a090ee9 Fix 3edbf57b62feeaba1f31683f24b9d76d75e03902 (Howard Chu)
2015-12-31Merge pull request #580Riccardo Spagni1-1/+1
1813736 unit_tests: remove an unused variable (moneromooo-monero) 70dd346 unit_tests: fix hardfork test build (moneromooo-monero)
2015-12-31Merge pull request #579Riccardo Spagni11-37/+130
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)
2015-12-31isblank doesn't need a special case testHoward Chu1-6/+1
2015-12-31Fix 3edbf57b62feeaba1f31683f24b9d76d75e03902Howard Chu1-1/+1
The test for isblank was being ignored
2015-12-30unit_tests: remove an unused variablemoneromooo-monero1-1/+0
2015-12-30unit_tests: fix hardfork test buildmoneromooo-monero1-0/+1
The dummy blockchain class needed to have the newly added is_read_only virtual function.
2015-12-30blockchain: kill ioservice on scope end, rather than manuallymoneromooo-monero1-6/+7
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.
2015-12-30miner: minor fixes on stopmoneromooo-monero1-1/+4
- 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.
2015-12-30core_tests: deinit core before destroying itmoneromooo-monero1-1/+3
This fixes a use after free by ioservice threads
2015-12-30wallet: add a rescan_bc command and rescan_blockchain RPCmoneromooo-monero7-13/+84
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.
2015-12-30wallet: protect against exceptions in the block pull threadmoneromooo-monero2-14/+30
This can happen when the daemon exits, which would also cause the wallet to crash via unhandled exception
2015-12-30net_peerlist: move a couple functions from public to privatemoneromooo-monero1-2/+2
They do not take the object lock, and are meant to be used only internally, called from a function which does take the lock.
2015-12-30Merge pull request #578Riccardo Spagni101-3175/+4811
3edbf57 fix missing unbound tests (Riccardo Spagni) 2d43ae8 update unbound, fix unbound openssl issue on OS X (Riccardo Spagni)
2015-12-30fix missing unbound testsRiccardo Spagni2-1/+9
2015-12-30update unbound, fix unbound openssl issue on OS XRiccardo Spagni101-3175/+4803
2015-12-30Merge pull request #577Riccardo Spagni85-2575/+6420
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)
2015-12-30no longer need to pass the size to rapidjsonRiccardo Spagni31-1142/+3762
2015-12-30add missing miniupnpc files, modify cmake to not build miniupnpc tests and ↵Riccardo Spagni11-2/+629
to fix an issue with finding miniupnpcstrings
2015-12-30updated miniupnpcRiccardo Spagni45-1452/+2050
2015-12-30Merge pull request #575Riccardo Spagni1-6/+8
61befc2 wallet: store cache to file without unnecessary memory buffer (moneromooo-monero)
2015-12-30Merge pull request #574Riccardo Spagni2-6/+11
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)
2015-12-30Merge pull request #573Riccardo Spagni1-0/+22
0953355 blockchain_db: inform user about new format if blockchain.bin is found (moneromooo-monero)
2015-12-30Merge pull request #572Riccardo Spagni2-3/+11
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)
2015-12-30Merge pull request #571Riccardo Spagni2-75/+75
b773e66 MDB_VL32 - resync with master (Howard Chu)
2015-12-30Merge pull request #570Riccardo Spagni1-1/+1
fc34132 Remove assert from status command (hyc)
2015-12-30Merge pull request #569Riccardo Spagni6-0/+32
ee9d71e BlockchainDB: skip fixup check if read-only database (warptangent)
2015-12-30Merge pull request #568Riccardo Spagni2-9/+2
b0541a5 blockchain: remove obsolete containers (moneromooo-monero) 18a5211 blockchain: Fix height in call to on_blockchain_dec (moneromooo-monero)
2015-12-29wallet: store cache to file without unnecessary memory buffermoneromooo-monero1-6/+8
2015-12-29Merge pull request #566Riccardo Spagni3-1/+85
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)
2015-12-29Merge pull request #1 from LMDB/crash-fixmoneromooo-monero1-5/+5
Tweak 45800a25e9374e63caaabba05c89585c86acd668
2015-12-29Tweak 45800a25e9374e63caaabba05c89585c86acd668hyc1-5/+5
trivial cleanup
2015-12-28wallet_rpc_server: exit async, so we reply to stop_wallet RPCmoneromooo-monero2-1/+11
Reported by saddam
2015-12-28blockchain_db: inform user about new format if blockchain.bin is foundmoneromooo-monero1-0/+22
2015-12-28blockchain: always stop the ioservice before returningmoneromooo-monero1-0/+2
Fixes a use after free
2015-12-28MDB_VL32 - resync with masterHoward Chu2-75/+75
WIN32 - close file mapping handle in env_close cursor_unref - ignore cursor with empty stack
2015-12-28wallet: do not return error if incoming_transfers finds nonemoneromooo-monero1-5/+0
reported by saddam
2015-12-28db_lmdb: safety close db at exitmoneromooo-monero1-0/+3
Noticed by hyc Also set m_open to false when closed
2015-12-28db_lmdb: fix a strdup/delete[] mistmatchmoneromooo-monero1-3/+6
2015-12-27Remove assert from status commandhyc1-1/+1
Crashes every time...
2015-12-26BlockchainDB: skip fixup check if read-only databasewarptangent6-0/+32
2015-12-26blockchain: remove obsolete containersmoneromooo-monero2-8/+1
2015-12-26blockchain: Fix height in call to on_blockchain_decmoneromooo-monero1-1/+1
It was a noop anyway
2015-12-26hardfork: ensure current_fork_index can not become negative on rescanmoneromooo-monero1-1/+1
2015-12-26tests: add a unit test for canonical decomposed amountsmoneromooo-monero2-0/+84
2015-12-26Merge pull request #565Riccardo Spagni9-63/+121
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)
2015-12-25tests: fix various tests by using parameters better suited to moneromoneromooo-monero3-8/+8
Either smaller coin values (as monero has smaller block rewards), or pre-hard fork values (full reward zone), or post-Bytecoin values (emission speed).
2015-12-25tests: fix some double spending testsmoneromooo-monero1-7/+8
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.
2015-12-25tests: use 255 as a "too high" block versionmoneromooo-monero1-2/+2
While the original cryptonote accepted only the current major version, we can accept higher ones.
2015-12-25blockchain: fix a few block addition bugsmoneromooo-monero2-34/+46
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.
2015-12-25blockchain: fix an off by one error in unlocked time checkmoneromooo-monero1-1/+1
2015-12-25blockchain: reinstate double spending checks in check_tx_inputsmoneromooo-monero1-3/+7
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.
2015-12-25blockchain: make some flag twiddling code closer to the originalmoneromooo-monero1-2/+2
Probably paranoid and unnecessary
2015-12-25blockchain: fix bitflipping test with quantized block rewardsmoneromooo-monero4-3/+8
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.
2015-12-25blockchain: add missing m_tx_pool.on_blockchain_decmoneromooo-monero1-0/+1
It was missing in the port to DB. This is actually a noop, so should not have functional changes.
2015-12-25blockchain: fix switch to alternative blockchain for more than one blockmoneromooo-monero1-1/+1
When rolling over more than one block, the db height will decrease, but the split height should be constant, as per the original code.
2015-12-25blockchain: add a missing validity check to rollback_blockchain_switchingmoneromooo-monero1-0/+6
It was present in the original code
2015-12-25core: catch exceptions from get_output_keymoneromooo-monero1-2/+18
This can happen when trying to find an amount that does not exist, and fixes a core test.
2015-12-25db: throw when given a non txout_to_key output to addmoneromooo-monero3-0/+13
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.
2015-12-25Merge pull request #564Riccardo Spagni58-16992/+2464
ba4e217 Update liblmdb, unify 32/64 sources (Howard Chu)
2015-12-25Merge pull request #562Riccardo Spagni1-3/+5
d4c2fae BlockchainDB: Remove txs in reverse order (warptangent)
2015-12-25Merge pull request #561Riccardo Spagni1-9/+10
ffcf6bd BlockchainLMDB: When removing, find amount output index fast by starting at end (warptangent) f11def0 BlockchainLMDB: Remove tx outputs in reverse order (warptangent)
2015-12-25Merge pull request #557Riccardo Spagni4-1/+36
791e7fb changed height to uint64_t (Brendan Telzrow) 4cd7913 added RPC wallet command getheight (Brendan Telzrow)
2015-12-25Update liblmdb, unify 32/64 sourcesHoward Chu58-16992/+2464
2015-12-24BlockchainDB: Remove txs in reverse orderwarptangent1-3/+5
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.
2015-12-24BlockchainLMDB: When removing, find amount output index fast by starting at endwarptangent1-4/+5
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.
2015-12-24BlockchainLMDB: Remove tx outputs in reverse orderwarptangent1-5/+5
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.
2015-12-24Merge pull request #560Riccardo Spagni3-1/+171
6c86859 unit_tests: fix hard fork tests (moneromooo-monero) 8b0200a unit_tests: new test for IP blocking (moneromooo-monero)
2015-12-24Merge pull request #559Riccardo Spagni1-1/+1
47ca455 fixed missing parenthesis (Riccardo Spagni)
2015-12-24unit_tests: fix hard fork testsmoneromooo-monero1-1/+2
A couple stopped passing when the hard fork code was made to reject incoming hard fork versions it did not know about.
2015-12-24fixed missing parenthesisRiccardo Spagni1-1/+1
2015-12-24unit_tests: new test for IP blockingmoneromooo-monero2-0/+169
2015-12-24Merge pull request #558Riccardo Spagni1-3/+5
a004130 fix for 'failed to generate new wallet: failed to save file' error during wallet generation (Lex Kalinkin)
2015-12-24fix for 'failed to generate new wallet: failed to save file' error during ↵Lex Kalinkin1-3/+5
wallet generation
2015-12-23changed height to uint64_tBrendan Telzrow1-4/+4
2015-12-23added RPC wallet command getheightBrendan Telzrow4-1/+36
2015-12-23Merge pull request #556Riccardo Spagni2-4/+23
22581a0 epee: regularly cleanup connections we kept a reference to (moneromooo-monero)
2015-12-23epee: regularly cleanup connections we kept a reference tomoneromooo-monero2-4/+23
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.
2015-12-22Merge pull request #554Riccardo Spagni1-2/+2
26c5118 README.md: mention --no-igd in the Tor paragraph (moneromooo-monero)
2015-12-22Merge pull request #553Riccardo Spagni3-2/+26
1e2f2d7 epee: fix hang on exit (moneromooo-monero) 17ff6f2 net_node: fix a hang on exit (moneromooo-monero)
2015-12-22README.md: mention --no-igd in the Tor paragraphmoneromooo-monero1-2/+2
2015-12-22epee: fix hang on exitmoneromooo-monero2-1/+25
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.
2015-12-22net_node: fix a hang on exitmoneromooo-monero1-1/+1
One loop was not paying attention to the stop signal, and could end up looping forever
2015-12-22Merge pull request #552Riccardo Spagni8-24/+4
9428d53 Strip redundant includes (hyc)
2015-12-22Merge pull request #551Riccardo Spagni1-0/+1
cfe15b8 Also set stacksize for Win32 not on MSVC (Howard Chu)
2015-12-22Merge pull request #550Riccardo Spagni1-2/+5
8c93608 wallet: fix load/save versioning bug for recently added tx data (moneromooo-monero)
2015-12-22Merge pull request #549Riccardo Spagni1-2/+3
af1da98 README.md: fix Tor paragraph to use warptangent's TCP DNS changes (moneromooo-monero)
2015-12-22Merge pull request #547Riccardo Spagni16-42/+97
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)
2015-12-22Merge pull request #546Riccardo Spagni1-0/+5
bd15f97 README.md: mention rlwrap usage (moneromooo-monero)
2015-12-22Merge pull request #545Riccardo Spagni3-1/+11
0ab56b8 print top block hash in daemon diff command (moneromooo-monero)
2015-12-21Strip redundant includeshyc8-24/+4
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.
2015-12-20Also set stacksize for Win32 not on MSVCHoward Chu1-0/+1
2015-12-20wallet: fix load/save versioning bug for recently added tx datamoneromooo-monero1-2/+5
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.
2015-12-19README.md: mention rlwrap usagemoneromooo-monero1-0/+5
2015-12-19README.md: fix Tor paragraph to use warptangent's TCP DNS changesmoneromooo-monero1-2/+3
2015-12-19Allow the wallet to access hard fork informationmoneromooo-monero8-8/+63
And make it change behavior slightly when close/after first hard fork
2015-12-19epee: make log macros behave like statementsmoneromooo-monero1-22/+22
In particular, make this kind of thing do what one expects it to do: if (x) LOG_PRINT("True"); else LOG_PRINT("No");
2015-12-19Add missing semicolons after log statementsmoneromooo-monero8-12/+12
2015-12-18print top block hash in daemon diff commandmoneromooo-monero3-1/+11
and add top block hash in get_info RPC
2015-12-18Merge pull request #544Riccardo Spagni2-3/+3
01e92eb replace std::auto_ptr with std::unique_ptr (moneromooo-monero)
2015-12-18Merge pull request #543Riccardo Spagni2-2/+2
63cb1a5 move another non user useful log to L1 (moneromooo-monero) 02827d5 p2p: minor log formatting fix (moneromooo-monero)
2015-12-18Merge pull request #542Riccardo Spagni2-1/+20
9b4f8b4 wallet: save to a temporary file, then rename (moneromooo-monero)
2015-12-17replace std::auto_ptr with std::unique_ptrmoneromooo-monero2-3/+3
The former is obsolete
2015-12-17move another non user useful log to L1moneromooo-monero1-1/+1
2015-12-17p2p: minor log formatting fixmoneromooo-monero1-1/+1
2015-12-17wallet: save to a temporary file, then renamemoneromooo-monero2-1/+20
This should avoid most of wallet cache corruption cases
2015-12-16Merge pull request #541Riccardo Spagni1-28/+49
5131b26 Replace tabs and remove trailing whitespace (warptangent) 0d40de4 Optionally restrict DNS queries to TCP (warptangent)
2015-12-16Merge pull request #536Riccardo Spagni26-3554/+3550
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)
2015-12-15Replace tabs and remove trailing whitespacewarptangent1-24/+24
2015-12-15Optionally restrict DNS queries to TCPwarptangent1-3/+24
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
2015-12-15Fix typowarptangent2-2/+2
2015-12-15blockchain.cpp: Change indentation from 4 to 2 spaceswarptangent1-2255/+2253
2015-12-15Replace tabs with two spaces for consistency with rest of codebasewarptangent26-1356/+1354
Remove trailing whitespace in same files.