Upgrade to LevelDB 1.18 #5093

pull sipa wants to merge 7031 commits into bitcoin:master from sipa:leveldb118 changing 1007 files +257242 −123
  1. sipa commented at 7:25 PM on October 16, 2014: member

    No description provided.

  2. Merge pull request #4928
    e9992fb remove include of chainparams.h (imharrywu)
    ab3834baae
  3. Move CTxDestination from script/script to script/standard 0be990ba34
  4. travis: retry tests before giving up 7e3821c097
  5. depends: respect CPPFLAGS when configuring with depends cf12c223d0
  6. travis: use DEBUG_LOCKORDER for our quick/small Linux build 1b0c981cb6
  7. Merge pull request #4932 from theuni/travis
    Travis tweaks
    d65ea7efa3
  8. Merge pull request #4927
    ee304b6 minor changes for help message of getpeerinfo (Philip Kaufmann)
    651a1fcf81
  9. Merge pull request #4899
    0be990b Move CTxDestination from script/script to script/standard (Pieter Wuille)
    69dd8c919a
  10. Merge pull request #4863
    1a61396 fix missing gettransaction entries in rpcclient (Benedict Chan)
    57e1716 update rpc help message for gettransaction to add includeWatchonly param (Benedict Chan)
    5b9d1e10a8
  11. Merge pull request #4555
    6dcfda2 Don't pass nHashType to EvalScript nor CheckSig (jtimon)
    2b23a87 Don't pass nHashType to VerifyScript (jtimon)
    ce3649fb Remove CScriptCheck::nHashType (was always 0) (jtimon)
    358562b Remove unused function main:VerifySignature (jtimon)
    438c7e4cd2
  12. Avoid copying undo data ab15b2ec71
  13. typo fix of booleamn to boolean c15e483f23
  14. prefer const string& over char* in CDB and CWalletDB constructor
    - also make parameter of CDBEnv::CheckpointLSN a constant reference
    22d7e7014f
  15. cleanup class private and public areas in walletdb
    - only code movement
    93f84d0417
  16. Merge pull request #4931
    93f84d0 cleanup class private and public areas in walletdb (Philip Kaufmann)
    22d7e70 prefer const string& over char* in CDB and CWalletDB constructor (Philip Kaufmann)
    e9870c5ed4
  17. Merge pull request #4936
    c15e483 typo fix of booleamn to boolean (imharrywu)
    c14bfea8ee
  18. Remove mention of MacPorts from OSX build docs d547ebf56e
  19. CMessageHeader sanity changes
    - Remove spurious `pchCommand[1] = 1` in CMessageHeader()
    - Make sure that pchCommand is zero-padded if length is shorter than
      COMMAND_SIZE
    - Use strnlen to determine length of pcmCommand in GetCommand
    62e5f8f961
  20. Merge pull request #4939
    d547ebf Remove mention of MacPorts from OSX build docs (Wladimir J. van der Laan)
    0db24bf5c3
  21. Merge pull request #4667
    bbad683 [Qt] simplify return code and return values in txtablemodel (Philip Kaufmann)
    21f1516 [Qt] add all used colors in txtablemodel to guiconstants (Philip Kaufmann)
    7fd8813675
  22. qt: Change splash screen to normal window
    Makes it possible to move, minimize, unminimize the window while
    Bitcoin Core is initializing.
    a49f11d9ed
  23. [Qt] include and file header cleanup
    - alphabetical ordering
    - correct ordering own headers before normal headers etc.
    5e83bc404c
  24. Write fee estimate and peers files only when initialized
    Fixes #4669.
    
    Move the loading of addresses to StartNode() to make it more
    self-contained.
    94064710b9
  25. Fixing 'vector out of bounds' issue in base 32 and 64 018cec7c41
  26. Merge pull request #4944
    018cec7 Fixing 'vector out of bounds' issue in base 32 and 64 (ENikS)
    2fc6c67400
  27. Apply clang-format on some infrequently-updated files 20e01b1a03
  28. build: fix release name strings for gitian builds
    When building from a distdir as gitian does, checking for the .git dir
    is not reliable. Instead, ask git if we're in a repo.
    c65cc8cde3
  29. Fixing condition 'sabotaging' MSVC build 6134b43ba9
  30. Merge pull request #4835
    ab15b2e Avoid copying undo data (Pieter Wuille)
    25308337d6
  31. test: Fix DoS tests after c74332c
    Fix data structure mismatch ... The mind boggles that they were still passing at all.
    33a27716fc
  32. Also create pid file in non-daemon mode
    Always make a pid file, not only when `-daemon` specified.
    
    This is useful for troubleshooting, for attaching debuggers and loggers
    and such.
    
    - Write the pid file only after the datadir lock was acquired
    - Don't create or remove a pid file on WIN32, and also don't show the option
    d6712db354
  33. Add warning about the merkle-tree algorithm duplicate txid flaw
    Lots of people read the Bitcoin Core codebase to learn more about
    crypto; better to warn about flaws explicitly so they don't blindly copy
    the code for other uses and create broken systems.
    01c28073ba
  34. Merge pull request #4933
    20e01b1 Apply clang-format on some infrequently-updated files (Pieter Wuille)
    934b153a2c
  35. Merge pull request #4950
    33a2771 test: Fix DoS tests after c74332c (Wladimir J. van der Laan)
    ae9966ed85
  36. Fixing improper input syntax and failing bounds check 87314c1c5e
  37. Merge pull request #4952
    01c2807 Add warning about the merkle-tree algorithm duplicate txid flaw (Peter Todd)
    5547f08ec7
  38. Merge pull request #4941
    a49f11d qt: Change splash screen to normal window (Wladimir J. van der Laan)
    6b09bc45b1
  39. remove code below asserts in limitedmap.h (fixes a ToDo) 2e5361b9c2
  40. qt: Make splash and shutdown window ignore close events
    It's strange to be able to close these windows while there is work
    in progress.
    
    Also set Qt::WA_DeleteOnClose on both windows to make sure that they
    are deleted eventually, no matter what happens.
    cfc5cfb0f0
  41. Merge pull request #4951
    d6712db Also create pid file in non-daemon mode (Wladimir J. van der Laan)
    aa340a8f07
  42. Merge pull request #4947
    6134b43 Fixing condition 'sabotaging' MSVC build (ENikS)
    321fd7dbee
  43. Merge pull request #4852
    5e83bc4 [Qt] include and file header cleanup (Philip Kaufmann)
    565da68ed0
  44. Merge pull request #4787
    4b0deb3 Clean up CMerkleTx::SetMerkleBranch. (Daniel Kraft)
    3cdae61aa2
  45. build: change cdrkit location in build-process.md
    The cdrkit.org domain expired.
    Thanks to gdm85 on IRC for reporting this.
    27fc5277f7
  46. Merge pull request #4765
    e2a98d2 Update obsolete AC macros. (randy-waterhouse)
    e543811 Add warnings for autogen.sh. Fix AC_CONFIG_SRCDIR. (randy-waterhouse)
    cb9871194a
  47. Use actually valid transactions for script tests 76ec867796
  48. Add actual signature tests c8589bf99e
  49. [Qt] minor changes in splashscreen.cpp
    - guard an unused variable with Q_UNUSED() macro
    - remove a commented out line of code
    bb26e2c896
  50. Grammar fixes in README
    Github-Pull: #4956
    2027450d42
  51. Fixing out of bounds error in GetKey() 6f3ae9b5df
  52. Merge pull request #4962
    6f3ae9b Fixing out of bounds error in GetKey() (ENikS)
    bfe527ea86
  53. Merge pull request #4949
    c8589bf Add actual signature tests (Pieter Wuille)
    76ec867 Use actually valid transactions for script tests (Pieter Wuille)
    35ee2dac67
  54. Fixing out of bounds asses error c8063b5712
  55. Avoiding referencing elements of an empty vector 459a2d25e0
  56. Merge pull request #4955
    87314c1 Fixing improper input syntax and failing bounds check (ENikS)
    7a04f3d708
  57. Use ModifyCoins instead of mutable GetCoins.
    Replace the mutable non-copying GetCoins method with a ModifyCoins, which
    returns an encapsulated iterator, so we can keep track of concurrent
    modifications (as iterators can be invalidated by those) and run cleanup
    code after a modification is finished.
    
    This also removes the overloading of the 'GetCoins' name.
    f28aec014e
  58. Get rid of CCoinsView's SetCoins and SetBestBlock.
    All direct modifications are now done through ModifyCoins, and BatchWrite is
    used for pushing batches of queued modifications up, so we don't need the
    low-level SetCoins and SetBestBlock anymore in the top-level CCoinsView class.
    c9d1a81ce7
  59. Do not keep fully spent but unwritten CCoins entries cached.
    Instead of storing CCoins entries directly in CCoinsMap, store a CCoinsCacheEntry
    which additionally keeps track of whether a particular entry is:
    * dirty: potentially different from its parent view.
    * fresh: the parent view is known to not have a non-pruned version.
    
    This allows us to skip non-dirty cache entries when pushing batches of changes up,
    and to remove CCoins entries about transactions that are fully spent before the
    parent cache learns about them.
    058b08c147
  60. Add coins_tests with a large randomized CCoinViewCache test. ed27e53c9b
  61. Reinitializing list's begin iterator after few elements were erased from the head cda45b5131
  62. Get rid of the dummy CCoinsViewCache constructor arg 7c70438dc6
  63. Do merkle root and txid duplicates check simultaneously
    Move the txid duplicates check into BuildMerkleTree, where it can be done
    much more efficiently (without needing to build a full txid set to detect
    duplicates).
    
    The previous version (using the std::set<uint256> to detect duplicates) was
    also slightly too weak. A block mined with actual duplicate transactions
    (which is invalid, due to the inputs of the duplicated transactions being
    seen as double spends) would trigger the duplicates logic, resulting in the
    block not being stored on disk, and rerequested. This change fixes that by
    only triggering in the case of duplicated transactions that can actually
    result in an identical merkle root.
    584a358997
  64. Fixed typo in README.md file. "-regest" "-regtest"
    There was a typo in the README.md file. It previously read "-regest" instead of the proper "-regtest" and it has been updated to the proper reading.
    b498a9493c
  65. Merge pull request #4974
    b498a94 Fixed typo in README.md file. "-regest" "-regtest" (Eric Shaw)
    ea69592a2f
  66. Apply clang-format on crypto/* and compat/* cf42c36e99
  67. [Qt] add more NULL pointer checks in bitcoingui
    - add missing checks for clientModel and optionsModel
    - small cleanups for an #ifdef on Mac
    - remove an unneeded else
    e6beedc496
  68. Merge pull request #4958
    e6beedc [Qt] add more NULL pointer checks in bitcoingui (Philip Kaufmann)
    c4998661e4
  69. RPC getnetworkinfo: export local node's client sub-version string ff36cbe8d0
  70. Merge pull request #4914
    ff36cbe RPC getnetworkinfo: export local node's client sub-version string (Jeff Garzik)
    58d4b23284
  71. Merge pull request #4966
    c8063b5 Fixing out of bounds asses error (ENikS)
    29a9d4483e
  72. Merge pull request #4946
    c65cc8c build: fix release name strings for gitian builds (Cory Fields)
    35e5b5329a
  73. Fixed the broken `brew` shell command 346d5443f1
  74. Merge pull request #4782
    2e5361b remove code below asserts in limitedmap.h (fixes a ToDo) (Philip Kaufmann)
    82e370b4b0
  75. Merge pull request #4967
    459a2d2 Avoiding referencing elements of an empty vector (ENikS)
    8152f4efd8
  76. Merge pull request #4959
    bb26e2c [Qt] minor changes in splashscreen.cpp (Philip Kaufmann)
    375cb4c253
  77. script: Fix reference into empty vector run time exception
    Edit by laanwj: `begin_ptr(sourcedata) + sourcedata.size()` -> `end_ptr(sourcedata)`
    219372f1dd
  78. Merge pull request #4968
    219372f script: Fix reference into empty vector run time exception (ENikS)
    b50e5fe099
  79. SanitizeString: allow '(' and ')'
    '(' and ')' are valid in user agent strings, so should be reported
    as such in RPC `getpeerinfo`.
    
    Fixes #4537.
    d14d7deff0
  80. minor variable init changes in init.cpp
    - explicit init of pcoinsdbview and pwalletMain (even if not needed, as
      globals are init to NULL, it seems cleaner)
    - remove check if (pwalletMain) in Shutdown() as delete is valid even if
      pwalletMain is NULL
    20a11ffabf
  81. Fixing C4146 warning
    Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
    1e73504865
  82. Merge pull request #4823
    1e73504 Fixing C4146 warning (ENikS)
    f66f986a25
  83. Merge pull request #4969
    cda45b5 Reinitializing list's begin iterator after few elements were erased from the head (ENikS)
    4b2b78b9f2
  84. depends: add the debug/release concept to depends 2027ad30e7
  85. depends: add debug/release flags for linux/osx/win
    Linux and mingw enable libstdc++ debugging for extra runtime checks. OSX
    doesn't play nice, so don't enable it there.
    f397304002
  86. depends: make sure openssl sees cppflags 7e99df78c4
  87. depends: boost: build for debug or release as requested
    Also hook up cppflags there, which was missing before.
    3b63df5fac
  88. depends: teach qt to honor debug/release
    This means it also needs to honor our flags, so patch them in as necessary.
    1d154db457
  89. depends: give miniupnpc cppflags b1efba8298
  90. depends: make LDFLAGS act like the other flags dc66ff53b4
  91. depends: add docs for debug 1f7fff2bee
  92. depends: disable reduced exports for debug builds
    Some debug options may not be compatible.
    00522cd45b
  93. tests: don't split an empty string a94496fbb6
  94. script: don't read past the end be6d87aa60
  95. travis: use debug for one build
    For the all-off build, enable the wallet and debug. This ensures that debug
    options will catch wallet problems as well.
    
    In order to make sure the no-wallet path is still tested, disable the wallet
    in the other x86_64 build.
    93e24dddf3
  96. qt: add proxy to options overridden if necessary.
    If proxy is disabled in the gui but enabled via the command line, it needs to
    be added to the override list.
    27c3e91014
  97. autofile: don't copy CAutoFile by value eee030f6bc
  98. autofile: Disallow by-value copies of CAutoFile
    One might assume that CAutoFile would be ref-counted so that a copied object
    would delay closing the underlying file until all copies have gone out of
    scope. Since that's not the case with CAutoFile, explicitly disable copying.
    6eb67b0ed2
  99. Merge pull request #4977
    cf42c36 Apply clang-format on crypto/* and compat/* (Pieter Wuille)
    c2db599c1f
  100. Merge pull request #4983
    d14d7de SanitizeString: allow '(' and ')' (Wladimir J. van der Laan)
    610a3d3a1b
  101. Merge pull request #4986
    6eb67b0 autofile: Disallow by-value copies of CAutoFile (Cory Fields)
    eee030f autofile: don't copy CAutoFile by value (Cory Fields)
    64cfaf891f
  102. Add automatic script test generation, and actual checksig tests 8138cbea3c
  103. Use a typedef for monetary values a372168e77
  104. Add 0.9.3 and fix control 0866948e18
  105. Merge pull request #4987
    0866948 Add 0.9.3 and fix control (Matt Corallo)
    2c45f49cde
  106. doc: Update SHA256SUMS.asc step in release-process.md
    - The Hash: header is prepended by gpg, and states the hashing used by
      gpg, not what is used to hash the files
    
    - Add more detailed steps
    a38eaea082
  107. doc: Add instructions for consistent Mac OS X build names 0dcb0a5578
  108. LLu is standard, but not portable. use ULL 775b7b8d70
  109. Merge pull request #4796
    e8b5f0d Move CBlockIndex, CChain and related code out of main (jtimon)
    6db83db Decouple CChain from mapBlockIndex (jtimon)
    bf3a5dd7f0
  110. update license of compat and crypto
    - change license to be just MIT for all files in compat and crypto
    - also add missing header end comments
    - ensure default header include style
    0db65d8798
  111. cleanup license and header end comment in chain.cpp/.h 7bec6dd230
  112. Merge pull request #4999
    775b7b8 LLu is standard, but not portable. use ULL (sinetek)
    76182e7cb6
  113. Merge pull request #4970
    93e24dd travis: use debug for one build (Cory Fields)
    be6d87a script: don't read past the end (Cory Fields)
    a94496f tests: don't split an empty string (Cory Fields)
    00522cd depends: disable reduced exports for debug builds (Cory Fields)
    1f7fff2 depends: add docs for debug (Cory Fields)
    dc66ff5 depends: make LDFLAGS act like the other flags (Cory Fields)
    b1efba8 depends: give miniupnpc cppflags (Cory Fields)
    1d154db depends: teach qt to honor debug/release (Cory Fields)
    3b63df5 depends: boost: build for debug or release as requested (Cory Fields)
    7e99df7 depends: make sure openssl sees cppflags (Cory Fields)
    f397304 depends: add debug/release flags for linux/osx/win (Cory Fields)
    2027ad3 depends: add the debug/release concept to depends (Cory Fields)
    41150d601d
  114. Switch testing framework from MAIN to new UNITTEST network
    UNITTEST inherites from MAIN but allows synamically changing its parameters using the ModifiableParams() interface
    a25fd6be13
  115. Suggested corrections on comments, variable names.
    Also new test case testing the PoW skip in UNITTEST.
    5e2e7fcb99
  116. Avoid introducing a virtual into CChainParams
    Treat fSkipProofOfWorkCheck the same as other parameters.
    4705902777
  117. doc: update gpg command line for SHA256SUMS.asc in release process 28fb5f388d
  118. Merge pull request #4960
    8138cbe Add automatic script test generation, and actual checksig tests (Pieter Wuille)
    2884b9a4ae
  119. Fix vector out of bounds in script tests 68af7d02cf
  120. Merge pull request #5003
    68af7d0 Fix vector out of bounds in script tests (Pieter Wuille)
    838e2e193b
  121. Merge pull request #4990
    7bec6dd cleanup license and header end comment in chain.cpp/.h (Philip Kaufmann)
    0db65d8 update license of compat and crypto (Philip Kaufmann)
    a329097f92
  122. osx: fix signing to make Gatekeeper happy (again)
    The approach from 65f3fa8d1 worked for signing on 10.9.4, but not newer
    versions. 10.9.5 (and up) want each framework to stand alone.
    
    Now in addition to copying the plist's from Qt for each framework, we put them
    in per-version dirs and only symlink to the latest, rather than using symlinks
    for any contents.
    af0bd5ee7f
  123. Fix formatting in init.md 41020ebe86
  124. depends: update the comparison tool to a more recent version 6d7a0fa4e5
  125. Revert "travis: retry tests before giving up"
    This reverts commit 7e3821c097c05a4790abac53ddd26ef28cb7cf4d.
    e166c177bc
  126. tests: fix python test-runner for windows
    Windows needed a few fixups to get the tests running:
    1. bitcoin-tx needs a file extension in Windows. Take this opportunity to
       add an env file, which pulls variables out of our build config. This can
       be extended as needed, for now it's very simple.
    2. After #1, split the args out of the exec key in the test data.
    3. Correct the line-endings from windows stdout
    41d67c78bf
  127. tests: fix false-positive under win64
    BN_ULONG isn't necessarily an unsigned long, as is the case on win64.
    63c17613ab
  128. Merge pull request #5006 from TheBlueMatt/travis-new-comparisontool
    depends: update the comparison tool to a more recent version
    7def85e1b5
  129. Update build-unix.md
    Debian also need libboost-all-dev installed.
    347a3a3eaa
  130. Merge pull request #5015 from theuni/win64test
    tests: fix false-positive under win64
    e5836eb692
  131. fix a possible memory leak in CWalletDB::Recover
    - convert pdbCopy into a boost::scoped_ptr to ensure memory gets freed
      in all cases (e.g. after "ret > 0")
    f606bb9baf
  132. fix possible memory leaks in CWallet::EncryptWallet
    - add missing deletes for pwalletdbEncryption
    - add an assert before trying to reserve memory for pwalletdbEncryption
    - add a destructor to CWallet, which ensures deletion of
      pwalletdbEncryption on object destruction
    870da77da6
  133. change exit(1) to an assert in CWallet::EncryptWallet d0c4197ef6
  134. Merge pull request #5014
    41d67c7 tests: fix python test-runner for windows (Cory Fields)
    a6f3e9d843
  135. Merge pull request #5018
    347a3a3 Update build-unix.md (JL2035)
    211d2939fd
  136. Merge pull request #5005
    af0bd5e osx: fix signing to make Gatekeeper happy (again) (Cory Fields)
    437634a79e
  137. Merge pull request #5008
    41020eb Fix formatting in  init.md (Whit J)
    b25551101c
  138. update getnetworkinfo help with subversion
    - add missing subversion field to getnetworkinfo help
    - fix style and format errors in help string
    - remove unneeded int casts
    b5ec5fe0cb
  139. remove dead/unused code in walletdb.cpp
    - closes #5021
    c375b5c102
  140. qt: Register CAmount metatype
    This allows sending the type over queued connections.
    Also normalize signal/slot names.
    c122f5528c
  141. Merge pull request #4234
    c122f55 qt: Register CAmount metatype (Wladimir J. van der Laan)
    a372168 Use a typedef for monetary values (Mark Friedenbach)
    3fd192f8b4
  142. doc: add make install to build-osx.md and build-unix.md f60dc15c50
  143. Merge pull request #5022
    c375b5c remove dead/unused code in walletdb.cpp (Philip Kaufmann)
    a419f82670
  144. travis: enable windows tests e9f3fa7c0b
  145. Merge pull request #5023
    e9f3fa7 travis: enable windows tests (Cory Fields)
    a41943df58
  146. Merge pull request #4940
    62e5f8f CMessageHeader sanity changes (Wladimir J. van der Laan)
    1fbccda8d0
  147. Keep symlinks when copying into .app bundle
    Code signing failed for me on OSX 10.9.5 because the
    Versions/Current symbolic links were being replaced
    with a duplicate copy of the frameworks' code.
    
    Releases were bigger than they needed to be, for the
    same reason.
    965c306d6d
  148. When transaction outputs exceed inputs, show the offending amounts so as to aid debugging. 217a5c9238
  149. Print input index when signature validation fails, to aid debugging. f74fc9b22d
  150. travis: If the comparison-tool fails, dump the tail of the debug log
    The entire debug log would be huge, and could cause issues for automated tools
    like travis. Printing 200 lines is an initial guess at a reasonable number,
    more may be required.
    5ad450a65a
  151. Merge pull request #5024 from gavinandresen/osx_sign_fix
    Keep symlinks when copying into .app bundle
    35eaa6b457
  152. build: Fix OSX build when using Homebrew and qt5
    Qt5 is bottled, so configure won't find it without some help. Use
    brew to find out its prefix.
    
    Also, qt5 added the host_bins variable to pkg-config, use it.
    9fedafba4b
  153. build: macdeploy: filter out irrelevant qt5 frameworks and dylibs dd367ff8c9
  154. Upgrade comparison tool further 0f78a0a2eb
  155. Merge pull request #4980
    20a11ff minor variable init changes in init.cpp (Philip Kaufmann)
    471d38b015
  156. Merge pull request #4926
    584a358 Do merkle root and txid duplicates check simultaneously (Pieter Wuille)
    76c171033c
  157. Merge pull request #5027
    0f78a0a Upgrade comparison tool further (Pieter Wuille)
    90aa73e900
  158. Merge pull request #5017
    f74fc9b Print input index when signature validation fails, to aid debugging. (Mark Friedenbach)
    217a5c9 When transaction outputs exceed inputs, show the offending amounts so as to aid debugging. (Mark Friedenbach)
    00eef5d6e9
  159. Merge pull request #5025
    5ad450a travis: If the comparison-tool fails, dump the tail of the debug log (Cory Fields)
    3b390723c1
  160. Merge pull request #4845
    4705902 Avoid introducing a virtual into CChainParams (Wladimir J. van der Laan)
    5e2e7fc Suggested corrections on comments, variable names. Also new test case testing the PoW skip in UNITTEST. (SergioDemianLerner)
    a25fd6b Switch testing framework from MAIN to new UNITTEST network (SergioDemianLerner)
    ad51e14583
  161. Revert merge of pull #4845
    It breaks the new mingw tests!
    
    See
    
    - https://travis-ci.org/bitcoin/bitcoin/jobs/36845581
    - https://travis-ci.org/bitcoin/bitcoin/jobs/36845582
    
    This reverts commit 470590277782cce2fe73275c74523aef59a51eab, 5e2e7fcb99738d9254d4030d53e4f711b2fc5ee0, a25fd6be138ff2bff7e2ad6a1a789db523c0193f.
    8d132431b4
  162. CBufferedFile: convert into a non-refcounted RAII wrapper
    - it now takes over the passed file descriptor and closes it in the
      destructor
    - this fixes a leak in LoadExternalBlockFile(), where an exception could
      cause the file to not getting closed
    
    - disallow copies (like recently added for CAutoFile)
    - make nType and nVersion private
    c9fb27da0a
  163. CBufferedFile: add explicit close function
    - also use identical close function for CAutoFile (avoids setting file to
      NULL under wrong conditions)
    0c35486dc9
  164. CAutoFile: make file private 938bccebf1
  165. amount.h: update license, add header end comment + rem from util.h e2efdf3937
  166. Qt: allow "emergency" shutdown during startup
    - allows closing our splash screen to abort startup
    4bd1185280
  167. Merge pull request #5031
    e2efdf3 amount.h: update license, add header end comment + rem from util.h (Philip Kaufmann)
    b76a767906
  168. Merge pull request #4991
    0dcb0a5 doc: Add instructions for consistent Mac OS X build names (Saivann)
    2dc37e7a49
  169. Switch testing framework from MAIN to new UNITTEST network
    UNITTEST inherites from MAIN but allows synamically changing its parameters using the ModifiableParams() interface
    f0fd00cb77
  170. Avoid introducing a virtual into CChainParams
    Treat fSkipProofOfWorkCheck the same as other parameters.
    fbd36d8fb5
  171. Merge pull request #5030
    fbd36d8 Avoid introducing a virtual into CChainParams (Wladimir J. van der Laan)
    f0fd00c Switch testing framework from MAIN to new UNITTEST network (SergioDemianLerner)
    45c41c05a0
  172. Merge pull request #5026
    dd367ff build: macdeploy: filter out irrelevant qt5 frameworks and dylibs (Cory Fields)
    9fedafb build: Fix OSX build when using Homebrew and qt5 (Cory Fields)
    
    Signed-off-by: Gavin Andresen <gavinandresen@gmail.com>
    4b73b758a3
  173. Fixed setaccount accepting foreign address
    Fixed issue #4209 where using setaccount with a foreign
    address causes the address to be added to your receiving addresses.
    31d6390fd1
  174. Changed mixed indentation to four spaces
    Put `test/rpc_wallet_tests.cpp` through clang-format.
    bc470c43ee
  175. Merge pull request #4985
    bc470c4 Changed mixed indentation to four spaces (Eric Shaw)
    31d6390 Fixed setaccount accepting foreign address (Eric Shaw)
    20a4b69360
  176. Correct logging AcceptBlock()->AcceptBlockHeader() 4bb30a1eb8
  177. depends: disable unused bdb replication manager. Fixes new mingw builds
    Newer mingw supports the features necessary to enable this api, whereas older
    versions didn't. However once enabled (automatically by configure), it triggers
    an unrelated build bug.
    
    Since it was not enabled previously anyway, and we don't depend on the
    functionality, just disable it across the board.
    609adc7660
  178. Merge pull request #5034
    609adc7 depends: disable unused bdb replication manager. Fixes new mingw builds (Cory Fields)
    6faee79426
  179. Abstract out SignatureChecker c7829ea797
  180. Make signature cache optional 5c1e798a8e
  181. Replace SCRIPT_VERIFY_NOCACHE by flag directly to checker e790c370b5
  182. DRY: Avoid repetitions in script_test 54510f2672
  183. Don't translate state.Abort() messages
    There is only one message passed to AbortNode() that makes sense to
    translate to the user specifically: Disk space is low. For the others
    show a generic message and refer to debug.log for details.
    
    Reduces the number of confusing jargon translation messages.
    b9b2e3fabd
  184. Update English translation eb6b3b245c
  185. Merge pull request #4978
    938bcce CAutoFile: make file private (Philip Kaufmann)
    0c35486 CBufferedFile: add explicit close function (Philip Kaufmann)
    c9fb27d CBufferedFile: convert into a non-refcounted RAII wrapper (Philip Kaufmann)
    0e64566a82
  186. Merge pull request #4994
    54510f2 DRY: Avoid repetitions in script_test (jtimon)
    29f96e8bc6
  187. Make comptool more deterministic c9c51cba4e
  188. [Wallet] Watch-only fixes ccca27a788
  189. Merge pull request #4887
    4bb30a1 Correct logging AcceptBlock()->AcceptBlockHeader() (R E Broadley)
    5ccd735d30
  190. Merge pull request #4982
    b5ec5fe update getnetworkinfo help with subversion (Philip Kaufmann)
    cd91ed4f5f
  191. travis: add non-default shell testing to travis. d6b0539f45
  192. Bugfix: Replace bashisms with standard sh to fix build on non-BASH systems b77b4eda8d
  193. Bugfix: Replace bashisms with standard sh in gitian descriptors ab72068565
  194. Bugfix: Replace bashisms with standard sh in tests/tools 0b17964131
  195. Merge pull request #5035
    c9c51cb Make comptool more deterministic (Matt Corallo)
    5bf029603c
  196. Disable App Nap on OSX 10.9+ 1f9be984db
  197. Merge pull request #4890
    e790c37 Replace SCRIPT_VERIFY_NOCACHE by flag directly to checker (Pieter Wuille)
    5c1e798 Make signature cache optional (Pieter Wuille)
    c7829ea Abstract out SignatureChecker (Pieter Wuille)
    5f1aee066a
  198. Merge pull request #5036
    eb6b3b2 Update English translation (Wladimir J. van der Laan)
    b9b2e3f Don't translate state.Abort() messages (Wladimir J. van der Laan)
    5505a1b13f
  199. minor license, header end comment etc. cleanup in /script
    - ensure all licenses are just MIT
    - add a missing header end comment
    - ensure alphabetical ordering
    5eed8c21c7
  200. fix a lock indentation in main.cpp
    - also ensure alphabetical ordering in file header
    4dc5eb057c
  201. add -timeout default as constant and use them
    - update help message text
    - simplify code in init to check for -timeout
    de10efd154
  202. contrib: use batched JSON-RPC in linarize-hashes
    Batch up to 10000 requests for a ~30x speedup.
    772ab0ea98
  203. contrib: make linearize-data.py cope with out-of-order blocks
    Make it possible to read blocks in any order. This will be required
    after headers-first (#4468), so should be merged before that.
    
    - Read block header. For expected blocks, continue, else skip.
    - For in-order blocks: copy block contents directly. Write prior
      out-of-order blocks if this connects a consecutive span.
    - For out-of-order blocks, store extents of block data for later
      retrieval. Cache out-of-order blocks in memory up to 100MB
      (configurable).
    aedc74dfa6
  204. minor txindex documentation improvement 3e61eb9c51
  205. Homebrew lang fix
    Very small tweak to correct the language on Homebrew's sandboxing process.
    
    Discussed in [this commit](https://github.com/bitcoin/bitcoin/commit/9fedafba4b903d7f3af044eb86dc313856e40b08).
    27368e7626
  206. Merge pull request #5049
    4dc5eb0 fix a lock indentation in main.cpp (Philip Kaufmann)
    5eed8c2 minor license, header end comment etc. cleanup in /script (Philip Kaufmann)
    a2a5fe3b72
  207. Don't return an address for invalid pubkeys 9d7cd4c598
  208. Merge pull request #4954
    9d7cd4c Don't return an address for invalid pubkeys (Andy Alness)
    953f16cb4e
  209. Merge pull request #5038
    0b17964 Bugfix: Replace bashisms with standard sh in tests/tools (Luke Dashjr)
    ab72068 Bugfix: Replace bashisms with standard sh in gitian descriptors (Luke Dashjr)
    b77b4ed Bugfix: Replace bashisms with standard sh to fix build on non-BASH systems (Luke Dashjr)
    d6b0539 travis: add non-default shell testing to travis. (Cory Fields)
    d4b571a5d3
  210. Prettify JSON tests and minimize diffs 2c930d932b
  211. Merge pull request #5053
    27368e7 Homebrew lang fix (Dominyk Tiller)
    ca067dc937
  212. contrib: revert changes to github-merge.sh in #5038 cd3269e38e
  213. Merge pull request #5047
    3e61eb9 minor txindex documentation improvement (Cozz Lovan)
    3eaa9462f8
  214. Merge pull request #5041
    1f9be98 Disable App Nap on OSX 10.9+ (Michael Ford)
    2b5261c636
  215. Merge pull request #4976
    27c3e91 qt: add proxy to options overridden if necessary. (Cory Fields)
    7c6cbff0e5
  216. Merge pull request #5050
    772ab0e contrib: use batched JSON-RPC in linarize-hashes (Wladimir J. van der Laan)
    fb5fa86bb4
  217. Merge pull request #5055
    2c930d9 Prettify JSON tests and minimize diffs (Pieter Wuille)
    ad9cd64d3b
  218. Merge pull request #4979
    de10efd add -timeout default as constant and use them (Philip Kaufmann)
    6860a55ea0
  219. Merge pull request #5051
    aedc74d contrib: make linearize-data.py cope with out-of-order blocks (Wladimir J. van der Laan)
    97a34c28d5
  220. Merge pull request #4834
    7c70438 Get rid of the dummy CCoinsViewCache constructor arg (Pieter Wuille)
    ed27e53 Add coins_tests with a large randomized CCoinViewCache test. (Pieter Wuille)
    058b08c Do not keep fully spent but unwritten CCoins entries cached. (Pieter Wuille)
    c9d1a81 Get rid of CCoinsView's SetCoins and SetBestBlock. (Pieter Wuille)
    f28aec0 Use ModifyCoins instead of mutable GetCoins. (Pieter Wuille)
    d4a42334d4
  221. Make SCRIPT_VERIFY_STRICTENC compatible with BIP62
    * Delete canonical_tests.cpp, and move the tests to script_tests.cpp.
    * Split off SCRIPT_VERIFY_DERSIG from SCRIPT_VERIFY_STRICTENC (the BIP62 part of it).
    * Change signature STRICTENC/DERSIG semantics to fail the script entirely rather than the CHECKSIG result (softfork safety, and BIP62 requirement).
    * Add many autogenerated tests for several odd cases.
    * Mention specific BIP62 rules in the script verification flags.
    9df9cf5a9f
  222. Merge pull request #5004
    9df9cf5 Make SCRIPT_VERIFY_STRICTENC compatible with BIP62 (Pieter Wuille)
    bf7b4fc6d3
  223. Merge pull request #4996
    d0c4197 change exit(1) to an assert in CWallet::EncryptWallet (Philip Kaufmann)
    870da77 fix possible memory leaks in CWallet::EncryptWallet (Philip Kaufmann)
    f606bb9 fix a possible memory leak in CWalletDB::Recover (Philip Kaufmann)
    dec58922d0
  224. Refactor -alertnotify code
    Refactor common -alertnotify code into static CAlert::Notify method.
    e01a7939d3
  225. Trigger -alertnotify if network is upgrading without you
    This adds a -regetest-only undocumented (for regression testing only)
    command-line option -blockversion=N to set block.nVersion.
    
    Adds to the "has the rest of the network upgraded to a
    block.nVersion we don't understand" code so it calls
    -alertnotify when 51 of the last 100 blocks are up-version.
    But it only alerts once, not with every subsequent new, upversion
    block.
    
    And adds a forknotify.py regression test to make sure it works.
    
    Tested using forknotify.py:
    
    Before adding CAlert::Notify, get:
    Assertion failed: -alertnotify did not warn of up-version blocks
    
    Before adding code to only alert once:
    Assertion failed: -alertnotify excessive warning of up-version blocks
    
    After final code in this pull:
    Tests successful
    dbca89b74b
  226. Merge pull request #5059
    dbca89b Trigger -alertnotify if network is upgrading without you (Gavin Andresen)
    e01a793 Refactor -alertnotify code (Gavin Andresen)
    
    Signed-off-by: Gavin Andresen <gavinandresen@gmail.com>
    3222802ea1
  227. Merge pull request #5032
    4bd1185 Qt: allow "emergency" shutdown during startup (Philip Kaufmann)
    fe36e031cd
  228. Travis: Descriptive build names caecb42b38
  229. Merge pull request #5072
    caecb42 Travis: Descriptive build names (Luke Dashjr)
    11d486d23f
  230. qt: add network-specific style object
    Mainly cleanups: Gets rid of isTestNet everywhere, by keeping track
    of network-specific theming in a central place.
    
    Also makes GUI no longer dependent on the network ID enumeration, which
    alleviates concerns about #4802.
    6de50c3c9a
  231. Move checkpoint data selection to chainparams e11712df7e
  232. Add fTestnetToBeDeprecatedFieldRPC to CChainParams cc97210799
  233. Remove CChainParams::NetworkID() 6fd546dd96
  234. Merge pull request #4802
    6fd546d Remove CChainParams::NetworkID() (jtimon)
    cc97210 Add fTestnetToBeDeprecatedFieldRPC to CChainParams (jtimon)
    e11712d Move checkpoint data selection to chainparams (jtimon)
    6de50c3 qt: add network-specific style object (Wladimir J. van der Laan)
    023690c0f2
  235. build: fix dynamic boost check when --with-boost= is used a7d1f035ae
  236. build: fix qt test build when libprotobuf is in a non-standard path d5fd094569
  237. rpc-tests: don't spew non-errors to stdout
    There's a brief race here, the process might've already exited and cleaned up
    after itself. If that's the case, reading from the pidfile will harmlessly
    fail. Keep those quiet.
    005b5af6e2
  238. Merge pull request #5073
    d5fd094 build: fix qt test build when libprotobuf is in a non-standard path (Cory Fields)
    a7d1f03 build: fix dynamic boost check when --with-boost= is used (Cory Fields)
    f98bd4eae1
  239. Merge pull request #4937
    ccca27a [Wallet] Watch-only fixes (Cozz Lovan)
    d7e1950483
  240. Typo in test e21b2e0d5f
  241. Merge pull request #5080
    e21b2e0 Typo in test (Luke)
    1f27c310a4
  242. Merge pull request #5074
    005b5af rpc-tests: don't spew non-errors to stdout (Cory Fields)
    2e4f6127bf
  243. Merge pull request #4942
    9406471 Write fee estimate and peers files only when initialized (Wladimir J. van der Laan)
    992ab87114
  244. boost: drop dependency on is_fundamental in serialization
    There's only one case where a vector containing a fundamental type is
    serialized all-at-once, unsigned char. Anything else would lead to
    strange results.
    
    Use a dummy argument to overload in that case.
    1d9b86d584
  245. boost: drop dependency on tuple in serialization
    There's only one user of this form of serialization, so it can be easily
    dropped. It could be re-added if desired when we switch to c++11.
    52955068b7
  246. boost: remove CPrivKey dependency from CECKey
    This allows CECKey to be used without directly depending on the secure
    allocators
    e405aa48c7
  247. boost: drop boost dependency in core.cpp e1c9467766
  248. boost: drop boost dependency in utilstrencodings.cpp 352058e8b0
  249. boost: drop boost dependency in version.cpp.
    Also add a test to verify.
    5f4bcf6b14
  250. Merge pull request #5082
    5f4bcf6 boost: drop boost dependency in version.cpp. (Cory Fields)
    352058e boost: drop boost dependency in utilstrencodings.cpp (Cory Fields)
    e1c9467 boost: drop boost dependency in core.cpp (Cory Fields)
    e405aa4 boost: remove CPrivKey dependency from CECKey (Cory Fields)
    5295506 boost: drop dependency on tuple in serialization (Cory Fields)
    1d9b86d boost: drop dependency on is_fundamental in serialization (Cory Fields)
    e8f6d54f1f
  251. Merge src/leveldb changes for LevelDB 1.18. 5b9f8425a5
  252. theuni commented at 7:46 PM on October 16, 2014: member

    Note that this enables c++11 for atomic support. We'll need to verify that this doesn't break our glibc/libstdc++ back-compat.

  253. sipa commented at 7:48 PM on October 16, 2014: member

    Wouldn't Travis catch problems like that?

  254. theuni commented at 7:52 PM on October 16, 2014: member

    We don't currently check for it, no. But we should. I'll put it on my TODO.

  255. laanwj commented at 6:34 AM on October 17, 2014: member

    @theuni We could run contrib/devtools/symbol-check.py on the output of the travis build?

    I'll do it manually with gitian this time to be sure...

  256. laanwj commented at 7:32 AM on October 17, 2014: member

    Checked on a gitian build of commit 5b9f842:

    ../bitcoin/contrib/devtools/symbol-check.py build/out/bin/32/* &&
        ../bitcoin/contrib/devtools/symbol-check.py build/out/bin/64/* &&
        echo "All OK"
    

    All OK.

  257. gavinandresen commented at 7:12 PM on October 17, 2014: contributor

    utACK

  258. sipa commented at 7:33 PM on October 17, 2014: member

    Note that this will kill all Bloom filters in existing chainstate files. @gmaxwell suggested adding a "oh, you ran an old version? let me copy your entries to new files, so they get new filters", so we don't get a latency hit before all files are rewritten (which should be relatively fast).

  259. laanwj commented at 2:30 PM on October 20, 2014: member

    Important: you need to make clean after checking this out to build with the new LevelDB version, otherwise the build system will not detect that anything has changed.

  260. theuni commented at 7:27 PM on October 20, 2014: member

    @laanwj Yes, that can be done, but that script needs a bit of massaging to be compatible with cross builds. I can PR those changes and get this running automatically.

  261. laanwj commented at 7:47 AM on October 21, 2014: member

    Tested ACK. I've run a reindex using this code on x86 and copied the result to ARM - with success. This fixes #2293. @theuni Sure, auto detecting would be even better sorry I was confused what you were referring to here, I thought the clean build system :-) Yes, would be nice to have that check in Travis now that people are going to push the limits of the supported compilers. @sipa Sounds sensible. There will be an extra latency hit for each access before the files are rewritten. Though I wonder "Is the time spent in rewriting all database files ever be expected to be won back in latency", given normal node usage.

  262. laanwj added this to the milestone 0.10.0 on Oct 22, 2014
  263. laanwj added the label UTXO Db and Indexes on Oct 22, 2014
  264. sipa commented at 9:32 AM on October 25, 2014: member

    @laanwj It may not be worth it - the chainstate has pretty high churn, so the data should be rewritten quickly. Let's just merge and see if anyone notices.

  265. sipa merged this on Oct 25, 2014
  266. sipa closed this on Oct 25, 2014

  267. sipa referenced this in commit 65e4e8427d on Oct 25, 2014
  268. MarcoFalke locked this on Sep 8, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-17 06:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me