Upgrade to LevelDB 1.17 #4161

pull sipa wants to merge 5720 commits into bitcoin:master from sipa:leveldb117 changing 847 files +335882 −12
  1. sipa commented at 4:27 pm on May 9, 2014: member

    This also reverts our local LevelDB modification to write to .sst files instead of .ldb files (done in order to retain backward compatibility). As all Bitcoin Core releases since 0.9 read from both .sst and .ldb, we can safely revert to the upstream behaviour now.

    Fixes #4137.

  2. build: ensure the correct strip is used for osx/win32 c4a10dbb22
  3. build: hook up "make deploy" for cross osx builds 01e5327cfc
  4. Merge pull request #3885
    01e5327 build: hook up "make deploy" for cross osx builds (Cory Fields)
    c4a10db build: ensure the correct strip is used for osx/win32 (Cory Fields)
    b62bbb1 build: if cross-compiling for an apple host, locate some additional tools (Cory Fields)
    0f21d39 build: fix qt.conf case-sensitivity in the deployed dmg (Cory Fields)
    275d6a3 build: allow correct tools to be used for dmg creation. (Cory Fields)
    fac6bea8f0
  5. Merge pull request #3917
    5c80b9a build: build qt tests after qt libs/executable (Wladimir J. van der Laan)
    6539cfc583
  6. [QT] Fixes feel when resizing the last column on tables (issue #2862)
    Re-submitting this pull request with a single commit.
    
    This patch introduces a GUIUtil class that is used when setting up the 2 tables we have so far on the Qt-GUI.
    In the past you could only resize the last column, which has BTC amounts from the right border of the column header, something that was rather unnatural.
    
    If a new table were ever to be added to the interface, fixing the last columns resizing behavior is rather simple. Just look at how we initialize here a TableViewLastColumnResizingFixer object when setting up the table header's behavior, and then how we override the resize event of the component (can be the table, or the dialog) and we invoke columnResizingFixer->stretchColumnWidth(columnIndex);
    8c29273ff0
  7. Merge pull request #3920
    8c29273 [QT] Fixes feel when resizing the last column on tables (issue #2862) (gubatron)
    733a799218
  8. Merge pull request #3906
    7211bce Consistent use of 'sudo' in unix build doc (Mikael Wikman)
    33207fc870
  9. [Qt] remove space from translation of client bitness
    - its rather easy to leave out the space on Transifex, so remove it from
      the string
    c17f0a58b4
  10. Merge pull request #3892
    b8edf6c Qt: Fix ESC in disablewallet mode (Wladimir J. van der Laan)
    162c33d246
  11. Merge pull request #3850
    16d281b [Qt] add expert section to wallet tab in optionsdialog (Cozz Lovan)
    be0afe238b
  12. Merge pull request #3806
    9e2872c Adjust branding in datadir lock error message (Michagogo)
    d30d379 Slightly tweak error when unable to bind port (Michagogo)
    fc5d85c4bb
  13. qt: translation update 788590736d
  14. Merge pull request #3924
    7885907 qt: translation update (Wladimir J. van der Laan)
    178d6a1b65
  15. Update gitian README.md c337e2e905
  16. Fix importwallet nTimeFirstKey 4c35366bdc
  17. doc: version bump Doxyfile
    - bump version to 0.9.99
    - exclude leveldb and json
    - include call and caller graphs in the documentation.
    6039196b57
  18. Merge pull request #3926
    c337e2e Update gitian README.md (Wladimir J. van der Laan)
    0a3acf260a
  19. [Qt] Fix enable/disable show and remove buttons ab1edd44d8
  20. Ignore temporary object files
    Prior to this change, `git status` would report untracked files of the
    following sort if run during a build:
    
        ?? src/rpcprotocol.o-e628def3
    
    These files should be explicitly ignored not only because they are a
    nuisance, but given that they appear and disappear quickly, they may be
    inadvertently added to the index even if one has been careful to check
    for untracked files with `git status` prior to a `git add .`.
    7b95c7be8d
  21. Remove stale and redundant src/.gitignore file
    This commit removes completely the src/.gitignore file, given that the
    precedent for ignoring artifacts within the `src` directory is to
    add entries for them to the root .gitignore file.
    
    Note also that the lone entry in src/.gitignore is stale anyway. As of
    the switch to Autotools in 35b8af9, the build no longer build creates
    artifacts in `src/test_bitcoin`. They are now written to
    `src/test/test_bitcoin`, and this latter path is already ignored in the
    root .gitignore file.
    6540025f10
  22. Merge pull request #3938
    6540025 Remove stale and redundant src/.gitignore file (Chris Beams)
    9c6f707172
  23. RPC command getmininginfo showing right genproclimit f61287c9b1
  24. Merge pull request #3927
    ab1edd4 [Qt] Fix enable/disable show and remove buttons (Cozz Lovan)
    d3c3210fa3
  25. fix permissions in application bundle
    Use INSTALL_DATA rather than INSTALL for copying non executable files in
    OS X application bundle.
    
    Tested by running "all appbundle" make target and trying the resulting
    application bundle, host system is OS X 10.9.2 .
    76cee181d3
  26. Fix regression tests
    Taught bitcoind to close the HTTP connection after it gets a 'stop' command,
    to make it easier for the regression tests to cleanly stop.
    Move bitcoinrpc files to correct location.
    Tidied up the python-based regression tests.
    d138598f63
  27. Update moved and dead links 3cb1edbfb6
  28. Fix test build after d138598
    Building the tests was giving some vague error message about a doubly-defined
    symbol.
    
    The solution is to define ShutdownRequested in test_bitcoin.cpp as well
    so that init.cpp does not get pulled in.
    e3f5d4338d
  29. qt: Do proper boost::path conversion
    Convert from QString unicode from/to the OS-dependent locale
    as used by boost::filesystem::path as needed.
    
    Solves #3916.
    7e591c19e7
  30. qt: Only override -datadir if different from the default
    Fixes #3905.
    c61fe44194
  31. improve command-line options output 7398f4a796
  32. gitian: add statically built variant of bitcoind/bitcoin-cli ddcd1afc5f
  33. Remove duplicate from src/makefile.am
    chainparams.cpp should not be in both libbitcoin_common and
    libbitcoin_server. Also re-sort the sources list.
    dfd3996217
  34. Merge pull request #3935
    c61fe44 qt: Only override -datadir if different from the default (Wladimir J. van der Laan)
    7e591c1 qt: Do proper boost::path conversion (Wladimir J. van der Laan)
    f284b5998a
  35. Merge pull request #3951
    3cb1edb Update moved and dead links (Luke Dashjr)
    95f0af5cb1
  36. Merge pull request #3958
    dfd3996 Remove duplicate from src/makefile.am (Wladimir J. van der Laan)
    47ef190637
  37. [Qt] fix style, formating, comment and indentation problems
    - introduced by #3920
    cfe4cad9e5
  38. Merge pull request #3923
    cfe4cad [Qt] fix style, formating, comment and indentation problems (Philip Kaufmann)
    7f3c4f08ea
  39. Merge pull request #3619
    7398f4a improve command-line options output (Cozz Lovan)
    410c2fa317
  40. Merge pull request #3682
    3e0753b always show syncnode in getpeerinfo (fixes #2717) (Philip Kaufmann)
    77eaa6fc45
  41. Merge pull request #3603
    a486abd replace custom GetFilesize() with boost::filesystem::file_size() (Philip Kaufmann)
    ebb783a9f2
  42. add constant for shared (GUI/core) -par settings
    - introduce DEFAULT_SCRIPTCHECK_THREADS in main.h
    - only show values from -"MAX_HW_THREADS" up to 16 for -par, as it
      makes no sense to try to leave more "cores free" than the system
      supports anyway
    - use the new constant in optionsdialog and remove defaults from
      .ui file
    5409404d75
  43. 'sendrawtransaction' improvements
    - Make it report the reject code and reason
    - Make it possible to re-send transactions that are already in the mempool
    1d46fe3327
  44. Merge pull request #3698
    5409404 add constant for shared (GUI/core) -par settings (Philip Kaufmann)
    e33cc87212
  45. Merge pull request #3730
    1d46fe3 'sendrawtransaction' improvements (Wladimir J. van der Laan)
    acac57b8af
  46. remove an assignment which is never used. fbf617a5f1
  47. Make GetAvailableCredit run GetHash() only once per transaction.
    This makes the first getbalance/getinfo 63x faster on my wallet.
    a60ab0ba89
  48. Merge pull request #3922
    c17f0a5 [Qt] remove space from translation of client bitness (Philip Kaufmann)
    e9d2e6ed90
  49. Merge pull request #3973
    a60ab0b Make GetAvailableCredit run GetHash() only once per transaction. (Gregory Maxwell)
    55027a8c85
  50. Add nHighTransactionFeeWarning as per #3969. ffeb47366d
  51. Fix `-printblocktree` output
    PrintBlockTree output was broken starting from e010af70.
    Everything appears on one line.
    
    PrintWallet() added the newline after a block, but this functionality
    was removed and no newline was added.
    
    Seemingly, no one noticed. Add a newline after the block information
    to fix this.
    af4c2ac8ce
  52. Merge pull request #3875
    89d72f3 Add new DNS seed from bitnodes.io. (Addy Yeow)
    8adb7bca21
  53. Add Andreas Schildbach to gitian download scripts. 5d433613e2
  54. Remove weights from download config for now as it's unclear how it will be used in future. 2a9edeb1c8
  55. Merge pull request #3907 from schildbach/gitian-downloader-aschildbach-key
    Add Andreas Schildbach to gitian download scripts.
    b725af7599
  56. Merge pull request #3980
    af4c2ac Fix `-printblocktree` output (Wladimir J. van der Laan)
    09b9c2fcd5
  57. Merge pull request #3950
    76cee18 fix permissions in application bundle (Andrea D'Amore)
    ad603f815f
  58. build: improve missing boost error reporting 25333a2619
  59. doc: Add note about memory reqs for compilation 4babd08137
  60. qt: Don't require db_cxx.h when wallet disabled
    Fix #3978.
    65adc3a893
  61. Merge pull request #3937
    7b95c7b Ignore temporary object files (Chris Beams)
    23abc2ea48
  62. Organize RPCCommands table
    Use sensible categories (overall control, P2P, blockchain/UTXO and
    mining, wallet, wallet-enabled mining) and sort within each.
    
    Also remove unnecessary #ifdef ENABLE_WALLET from `rpcnet.cpp`.
    
    Functionality-neutral change.
    ab88ed93ef
  63. Merge pull request #3964
    ab88ed9 Organize RPCCommands table (Wladimir J. van der Laan)
    e18bc583d4
  64. Merge pull request #3969
    ffeb473 Add nHighTransactionFeeWarning as per #3969. (Bardi Harborow)
    b86ed6ff23
  65. Fix typo in `createmultisig` help
    iCreateMultisig is not a thing.
    e3e3728f46
  66. Merge pull request #3987 from laanwj/2014_03_icreatemultisig
    Fix typo in `createmultisig` help
    5a2ed60a04
  67. Wrap create_directory calls in try...catch blocks.
    Ignores any exceptions thrown if directory exists, otherwise re-throws exception.
    
    Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
    2b7709dc84
  68. Use the new name Bitcoin Core Daemon instead of Bitcoin server
    Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
    Rebased-From-Github-Pull: #3801
    db3a5e4151
  69. Add sighash tests from data file 43cb41859e
  70. Add code generating data/sighash.json test data 232aa9e034
  71. Add application category for OSX
    In "View by Category" without this metadata the app gets sorted into "Other" at the bottom.
    1204945742
  72. add checks for deserialization errors 81bfb5aebf
  73. Merge pull request #3988
    1204945 Add application category for OSX (duanemoody)
    09a2f3e1d7
  74. Merge pull request #3975
    81bfb5a add checks for deserialization errors (Manuel Araoz)
    232aa9e Add code generating data/sighash.json test data (Manuel Araoz)
    43cb418 Add sighash tests from data file (Manuel Araoz)
    d8dcfb9034
  75. unified and better log/error messages for CDBEnv/CDB f7257cfbd9
  76. [Qt] small cleanup of coincontroldialog
    - use a little more Qt-style
    - check for NULL pointers first and return in updateView()
    - small space and formating changes
    d34b958406
  77. Merge pull request #3991
    d34b958 [Qt] small cleanup of coincontroldialog (Philip Kaufmann)
    8d5abd480b
  78. Merge pull request #3986
    65adc3a qt: Don't require db_cxx.h when wallet disabled (Wladimir J. van der Laan)
    4babd08 doc: Add note about memory reqs for compilation (Wladimir J. van der Laan)
    25333a2 build: improve missing boost error reporting (Wladimir J. van der Laan)
    e5681a4fa8
  79. Merge pull request #3931
    f61287c RPC command getmininginfo showing right genproclimit (Isidoro Ghezzi)
    397521d632
  80. [Qt] rescan progress 392783697c
  81. Add gitian build guide
    Work in progress...
    2c47a00b5f
  82. Edit subsidy_limit_test to account for BIP42
    Because no one wants 4 gold mines being discovered every mibillenium.
    5cfd3a70a6
  83. Have pull-tester run the listtransactions.py regression test
    This should show how to run a python-based regression test
    successfully in the pull-tester environment.
    cb4bdd18a7
  84. Merge pull request #3842 from ditto-b/master
    Fix for GetBlockValue() after block 13,440,000
    8556b0298d
  85. Merge pull request #3928
    3927836 [Qt] rescan progress (Cozz Lovan)
    9bd1bdd08c
  86. Merge pull request #3998
    cb4bdd1 Have pull-tester run the listtransactions.py regression test (Gavin Andresen)
    952bf9738e
  87. Merge pull request #3929
    4c35366 Fix importwallet nTimeFirstKey (Cozz Lovan)
    fecda6853d
  88. Merge pull request #3994
    2c47a00 Add gitian build guide (Wladimir J. van der Laan)
    e4121981d4
  89. Merge pull request #3572
    f7257cf unified and better log/error messages for CDBEnv/CDB (Philip Kaufmann)
    b12dcb2c9e
  90. Update README.md b598581bfd
  91. Merge pull request #4005 from Telepatheic/patch-1
    Update README.md
    513412fd73
  92. Added instructions for when wrong openssl detected after brew link 73288982ad
  93. Move assert(pindexNew); to above where we dereference pindexNew. 94c8bfb23b
  94. Merge pull request #4010
    94c8bfb Move assert(pindexNew); to above where we dereference pindexNew. (Gregory Maxwell)
    ef76f3d62c
  95. Merge pull request #3972
    fbf617a remove an assignment which is never used. (Yoichi Hirai)
    f4e1c347cf
  96. Doxygen-compatible comments in coding style 8414cb0494
  97. Show error message if ReadConfigFile fails
    A runaway exception was raised if ReadConfigFile fails (usually
    due to a parse error in bitcoin.conf). Show an error message instead.
    
    Fixes #4013.
    4ae5e72128
  98. build: Sync ax_boost_base.m4 with upstream.
    This should fix 32bit boost detection on Ubuntu Saucy+. Fixes #3945.
    13a2283a6d
  99. Restart-warning for spendZeroConfChange option
    According to the options model, a restart is required after changing this option. So let's notify the user about it.
    71f82bf2ab
  100. Fixes the broken image in the Gitian Build Guide 633bb8b0ae
  101. gitian: upgrade openssl to 1.0.1g for both win and linux
    OpenSSL 1.0.1g fixes CVE-2014-0160.
    
    Also bump dependency versions.
    4a811b0053
  102. Merge pull request #4018
    4ae5e72 Show error message if ReadConfigFile fails (Wladimir J. van der Laan)
    f4bc2296a5
  103. Merge pull request #4022
    633bb8b Fixes the broken image in the Gitian Build Guide (Michael Ford)
    e448959dfb
  104. Merge pull request #4019
    13a2283 build: Sync ax_boost_base.m4 with upstream. (Cory Fields)
    a7101b13f7
  105. Merge pull request #3914
    ddcd1af gitian: add statically built variant of bitcoind/bitcoin-cli (Wladimir J. van der Laan)
    dac4e2aebd
  106. Merge pull request #4023
    4a811b0 gitian: upgrade openssl to 1.0.1g for both win and linux (Wladimir J. van der Laan)
    fa2b42533a
  107. gitian: Version bump for Qt dependency
    Bump Qt dependency version after OpenSSL update.
    Very important. Thanks @michagogo for noting.
    178825dec3
  108. Fix a typo in RPC signrawtransaction help ab643811ea
  109. Merge pull request #4020
    71f82bf Restart-warning for spendZeroConfChange option (langerhans)
    06d1fc6112
  110. doc: remove versions from build-unix.md, just refer to release-process.md
    No one bothers to keep this up to date.
    Better to refer to another file than give wrong information.
    f3f2cb736d
  111. gitian: upgrade miniupnpc input to 1.9
    Bumps deps-linux, deps-win dependency versions as well.
    
    qt-win does not need to be bumped, as although it depends on deps-win,
    Qt doesn't use miniupnp. I verified this by rebuilding the dependency
    and checking the the output is the same. Not having to rebuild Qt is a
    good thing as it is huge.
    25d4911e86
  112. Bugfix: configure: Look in libx32 subdirectory for boost libraries c0e0b05aec
  113. doc: update expected intermediate dependency hashes
    Also move them to release-process.md from gitian-building.md for more
    visibility.
    219b512d72
  114. Merge pull request #4031
    f3f2cb7 doc: remove versions from build-unix.md, just refer to release-process.md (Wladimir J. van der Laan)
    85bba09bfd
  115. Changed bitrpc.py's raw_input to getpass for passwords to conceal characters during command line input. Getpass is in Python stdlib so no additional dependencies required. 0f63504463
  116. Merge pull request #4024
    ab64381 Fix a typo in RPC signrawtransaction help (Hector Jusforgues)
    20ecf5c27d
  117. Prevent socket leak in ThreadSocketHandler.
    When we are over our outbound limit ThreadSocketHandler would try to
     keep the connection if the peer was addnoded.
    
    This didn't actually work for two reasons: It didn't actually run
     the accept code due to mistaken code flow, and because we have a
     limited number of outbound semaphores it couldn't actually use the
     connection.
    
    Instead it leaked the socket, which might have caused issue #4034.
    
    This patch just takes out the non-functioning white-listing for now.
    d20791b0e5
  118. Merge pull request #4033
    219b512 doc: update expected intermediate dependency hashes (Wladimir J. van der Laan)
    25d4911 gitian: upgrade miniupnpc input to 1.9 (Wladimir J. van der Laan)
    4c6cab2c5d
  119. Correct some proxy related socket leaks. 0bd05b53b1
  120. build: add glibc/libstdc++ back-compat stubs
    glibc/libstdc++ have added new symbols in later releases. When running a new
    binary against an older glibc, the run-time linker is unable to resolve the
    new symbols and the binary refuses to run.
    
    This can be fixed by adding our own versions of those functions, so that the
    build-time linker does not emit undefined symbols for them.
    
    This enables our binary releases to work on older Linux distros, while not
    incurring the downsides of a fully static binary.
    ffc6b678b9
  121. build: add an option for enabling glibc back-compat
    Using "./configure --enable-glibc-back-compat" will attempt to be
    compatible with a target running glibc abi 2.9 and libstdc++ abi 3.4.
    d5aab70490
  122. gitian-linux: --enable-glibc-back-compat 49a3352c1c
  123. Merge pull request #4016
    8414cb0 Doxygen-compatible comments in coding style (Wladimir J. van der Laan)
    f406af3573
  124. doc: add note about translations to README.md 1528397135
  125. Merge pull request #4041
    1528397 doc: add note about translations to README.md (Wladimir J. van der Laan)
    e3ce55fddb
  126. Merge pull request #4009
    7328898 Added instructions for when wrong openssl detected after brew link (olalonde)
    9c749d608f
  127. Merge pull request #3912
    b1b9c76 Fix bloom filter not to use bit_mask (peryaudo)
    8562179612
  128. build: add symbol for upcoming gcc 4.9's libstdc++ 05c20a553a
  129. Added Blockchain Bootstraping Tutorial
    Per @laanwj request in #3724
    
    Fixing Checkpoints Comment
    
    Fixed Image Paths
    
    Removed requirement.
    
    Update Torrent Links.
    
    Update Links 2
    
    Link would not work.
    
    2 Small Fixes
    
    Changed in to from
    
    @laanwj suggestion on safety
    b698417fc8
  130. Merge pull request #3747
    b698417 Added Blockchain Bootstraping Tutorial (super3)
    76db4e235d
  131. Improve and expand base58 comments
    update comments so doxygen will pick them up
    4e9667b844
  132. /contrib index reorg
    Cleaner and easier to read.
    
    Reordered by functionality
    494cbf8350
  133. qt: remove de_AT translation
    Got too many complaints that is was unserious and written by trolls.
    I have also removed the translation from transifex.
    Fixes #4054 and #3918.
    74dd52a9fc
  134. [Qt] catch Windows shutdown events while client is running
    - prevents unsafe shutdowns on Windows, which is known to be
      able to cause problems with wallet.dat
    - if a users ends a Windows session, this will initiate a client shutdown
      and show a Windows dialog, that tells the user what is going on (for
      Windows Vista and higher it will even show a reason for blocking the
      Windows session end)
    d282c1fb64
  135. VERSION obtained from source instead of the previous git tag.
    Drawback: The version string is no longer a valid git identifier.
              For this reason the 'g' short hash prefix has been removed.
    
    Exception: When building directly from a tag this behaves exactly like the previous behavior.
               This allows formatting release versions with precision     i.e. v0.9.2
               This also allows arbitrary topicbranch names               i.e. v0.9.1-glibc-compat
    3d20cd5f61
  136. Merge pull request #4049
    3d20cd5 VERSION obtained from source instead of the previous git tag. (Warren Togami)
    31853a1517
  137. Update doc/gitian-building.md for new gitian
    The patch to make it possible to configure the LXC IPs has been merged
    upstream. This means that it is no longer needed to patch gitian.
    Remove that workaround.
    5a79c65323
  138. Pointed to location of BDB 4.8 in procedure for unix build. 61d388d98d
  139. Translation update 2014-04
    Push new English translation, as well as pull other translations that
    changed since last month.
    2f3308f2d2
  140. Add AssertLockHeld for cs_main to ChainActive-using functions
    All functions that use ChainActive but do not aquire the cs_main
    lock themselves, need to be called with the cs_main lock held.
    
    This commit adds assertions to all externally callable functions
    that use chainActive or chainMostWork.
    
    This will flag usages when built with -DDEBUG_LOCKORDER.
    e07c943ce8
  141. Solve chainActive-related locking issues
    - In wallet and GUI code LOCK cs_main as well as cs_wallet when
      necessary
    - In main.cpp SendMessages move the TRY_LOCK(cs_main) up, to encompass the call
      to IsInitialBlockDownload.
    - Make ActivateBestChain, AddToBlockIndex, IsInitialBlockDownload,
      InitBlockIndex acquire the cs_main lock
    
    Fixes #3997
    55a1db4fa2
  142. Merge pull request #4037 from gmaxwell/fdleaks
    Prevent socket leak in ThreadSocketHandler.
    fe451fe944
  143. Merge pull request #3701
    09ec3af AddToWallet implies BindWallet (Wladimir J. van der Laan)
    913e90db9a
  144. Merge pull request #4014
    4e9667b Improve and expand base58 comments (rxl)
    8da64ca47e
  145. Merge pull request #4047
    494cbf8 /contrib index reorg (super3)
    4a102fa9d9
  146. script: add CScriptNum class
    This class holds an int64_t and replaces the use of CBigInt for script
    integrals.
    48d8eb1847
  147. script: switch to CScriptNum usage for scripts 27bff74e39
  148. script: switch outside users to CScriptNum 4f497cd97d
  149. script: remove bignum dependency 05e3ecffa4
  150. script: add additional script tests 90320d6777
  151. script: Add test for CScriptNum
    Because this class replaces some usages of CBigNum, tests have been added to
    verify that they function the same way. The only difference in their usage is
    the handling of out-of-range numbers.
    
    While operands are constrained to [-0x7FFFFFFF,0x7FFFFFFF], the results may
    overflow. The overflowing result is technically unbounded, but in practice
    it can be no bigger than the result of an operation on two operands. This
    implementation limits them to the size of an int64.
    
    CBigNum was unaware of this constraint, so it allowed for unbounded results,
    which were then checked before use. CScriptNum asserts if an arithmetic
    operation will overflow an int64_t, since scripts are not able to reach those
    numbers anyway. Additionally, CScriptNum will throw an exception when
    constructed from a vector containing more than 4 bytes This mimics the previous
    CastToBigNum behavior.
    b1fdd5475d
  152. Replace DecodeBase58/EncodeBase58 with direct implementation.
    This removes the bignum/OpenSSL dependency.
    
    The base58 transformation code is also moved to a separate .cpp file.
    b58be132c9
  153. Merge pull request #4048 from sipa/nobigb58
    Remove dependency of base58 on OpenSSL
    e2bff7df08
  154. Merge pull request #4058
    55a1db4 Solve chainActive-related locking issues (Wladimir J. van der Laan)
    e07c943 Add AssertLockHeld for cs_main to ChainActive-using functions (Wladimir J. van der Laan)
    2bbecc84e2
  155. Merge pull request #4035
    0f63504 Changed bitrpc.py's raw_input to getpass for passwords to conceal characters during command line input. Getpass is in Python stdlib so no additional dependencies required. (Eric S. Bullington)
    91c601c54a
  156. Merge pull request #4042
    05c20a5 build: add symbol for upcoming gcc 4.9's libstdc++ (Cory Fields)
    49a3352 gitian-linux: --enable-glibc-back-compat (Warren Togami)
    d5aab70 build: add an option for enabling glibc back-compat (Cory Fields)
    ffc6b67 build: add glibc/libstdc++ back-compat stubs (Cory Fields)
    bbe53f61db
  157. [Qt] importwallet progress bb1f1c90d6
  158. Add required locks in tests
    Unit tests with DEBUG_LOCKORDER were running into assertions.
    ed67100565
  159. qt: get required locks upfront in polling functions
    This avoids the GUI from getting stuck on
    periodical polls if the core is holding the locks for a longer time -
    for example, during a wallet rescan.
    41106a50d2
  160. Add missing AssertLockHeld in ConnectBlock b39a07dc42
  161. Merge pull request #4055
    bb1f1c9 [Qt] importwallet progress (Cozz Lovan)
    97730c9b7f
  162. Merge pull request #4085
    b39a07d Add missing AssertLockHeld in ConnectBlock (Wladimir J. van der Laan)
    41106a5 qt: get required locks upfront in polling functions (Wladimir J. van der Laan)
    ed67100 Add required locks in tests (Wladimir J. van der Laan)
    89bbd54fbf
  163. Add MESSAGE_START_SIZE from chainparams when loading blocks from external files. 0caf2b187f
  164. Merge pull request #4087
    0caf2b1 Add MESSAGE_START_SIZE from chainparams when loading blocks from external files. (Simon de la Rouviere)
    4765b8c116
  165. Add CLIENT_VERSION_REVISION to mac osx info plist 8abfb9905d
  166. Split up CheckBlock in a block and header version f457347053
  167. Split AcceptBlockHeader from AcceptBlock.
    Also modify some connection logic to deal with non-full blocks in the index.
    942b33a19d
  168. devtools: add script to check symbols from Linux gitian executables
    Add a script to check that the (Linux) executables produced by gitian
    only contain allowed gcc, glibc and libstdc++ version symbols.  This
    makes sure they are still compatible with the minimum supported Linux
    distribution versions.
    74fc254c2b
  169. [Qt] Optionally add third party links to transaction context menu 40c5b939f2
  170. Update contrib/debian for autotools, among a few other tweaks 6e40fcf455
  171. Merge pull request #4098
    6e40fcf Update contrib/debian for autotools, among a few other tweaks (Matt Corallo)
    814df91269
  172. Merge pull request #4089
    74fc254 devtools: add script to check symbols from Linux gitian executables (Wladimir J. van der Laan)
    7cbe636a23
  173. Merge pull request #4043
    d282c1f [Qt] catch Windows shutdown events while client is running (Philip Kaufmann)
    c63b2e25a5
  174. qt: Periodic translations update
    Update English translation from source code, and pull other translations
    from Transifex.
    48be9ceaa0
  175. Correct indentation 6b29ccc9f9
  176. use standard __func__ instead of __PRETTY_FUNCTION__ 1cc7f54a8d
  177. gitian: build against Qt 4.6
    Should make it possible to run the resulting GUI executable on
    Linux distributions that use Qt 4.6, such as Debian Wheezy and Tails.
    
    Builds a mini-SDK for building against Qt 4.6. This includes the headers
    as well as host utilities such as `lrelease`, `qrc` and `moc`.
    
    This speeds up the gitian build a bit - libqt4-dev pulled in a lot of packages,
    and is no longer needed as this provides a replacement of our own.
    
    Note: This does not replace the Qt build with at static library. After this
    commit we still build dynamically against the system Qt library. The only
    difference is that compatibility with an older version is maintained. This
    loses minor GUI functionality (such as setPlaceholderText) but still
    allows integration into the window management of the host OS, unlike
    when statically linking.
    3ab1664594
  178. gitian: don't export any symbols from executable
    This avoids conflicts between the libraries statically linked into bitcoin and any
    libraries we may link dynamically (such as Qt and OpenSSL, see issue #4094).
    It also avoids start-up overhead to not export any unnecessary symbols.
    To do this, build a linker script that marks all symbols as local.
    92e3022f88
  179. devtools: have symbol check script check for exported symbols
    After last commit, our executables should export no symbols anymore.  To
    make sure that this stays the case, verify this in the symbol checker
    script.
    202c95c216
  180. Merge pull request #4111
    1cc7f54 use standard __func__ instead of __PRETTY_FUNCTION__ (Philip Kaufmann)
    b2ee43f126
  181. Merge pull request #4109
    6b29ccc Correct indentation (R E Broadley)
    191b087e0e
  182. Merge pull request #4092
    40c5b93 [Qt] Optionally add third party links to transaction context menu (Cozz Lovan)
    d69427a0c4
  183. Merge pull request #4088
    8abfb99 Add CLIENT_VERSION_REVISION to mac osx info plist (Michael Ford)
    426dc16f7b
  184. Log BerkeleyDB version at startup
    Prints the actual version of BerkeleyDB that is linked against, if
    wallet support is enabled.
    
    Useful for troubleshooting.
    
    For example:
    
        2014-05-01 07:44:02 Using BerkeleyDB version Berkeley DB 4.8.30: (April 9, 2010)
    
        2014-05-01 07:54:25 Using BerkeleyDB version Berkeley DB 5.1.29: (October 25, 20 11)
    d0a2e2eb87
  185. Update build instructions for Berkeley DB
    - People were having problems with the .so when installing in
      alternative locations.
      Like gitian, build a static library with -fPIC that can
      be embedded into the executables.
    
    - Add some missing steps
    
    - Add reminder that BerkeleyDB is only needed when wallet support is
      enabled
    bfb154e9fc
  186. qt: add transifex configuration file
    This is a project-wide configuration file and should be the same for
    everyone.
    Also remove mention of creating it yourself from the translation process.
    58c01a376d
  187. devtools: add a script to fetch and postprocess translations
    Run this script from the root of the repository to update all translations from transifex.
    It will do the following automatically:
    
    - create a transifex configuration file
    - fetch all translations
    - post-process them into valid and committable format
    9dd5d79244
  188. Full translation update
    Last update (48be9ce) missed quite a lot, for some reason.
    
    This is also the first update done with the new script
    `contrib/devtools/update-translations.py`
    3a54ad9aba
  189. Remove build-time no-IPv6 setting
    The year is 2014. All supported operating systems have IPv6 support,
    most certainly at build time (this doesn't mean that IPv6 is configured,
    of course).
    
    If noone is exercising the functionality to disable it, that means it
    doesn't get tested, and IMO it's better to get rid of it.
    
    (it's also not used consistently in RPC/boost and Net code...)
    e27c4110d9
  190. Removed LevelDB changes
    Syntax Highlighting
    d3081fa231
  191. Wording
    Cleaned up wording and spacing for readability.
    188674de98
  192. Merge pull request #4032
    c0e0b05 Bugfix: configure: Look in libx32 subdirectory for boost libraries (Luke Dashjr)
    83d7dc44ef
  193. Merge pull request #4115
    e27c411 Remove build-time no-IPv6 setting (Wladimir J. van der Laan)
    bf35cae1ae
  194. Merge pull request #4116
    188674d Wording (richierichrawr)
    18da57825e
  195. Merge pull request #4094
    202c95c devtools: have symbol check script check for exported symbols (Wladimir J. van der Laan)
    92e3022 gitian: don't export any symbols from executable (Wladimir J. van der Laan)
    3ab1664 gitian: build against Qt 4.6 (Wladimir J. van der Laan)
    b397248436
  196. Merge pull request #4110
    3a54ad9 Full translation update (Wladimir J. van der Laan)
    9dd5d79 devtools: add a script to fetch and postprocess translations (Wladimir J. van der Laan)
    58c01a3 qt: add transifex configuration file (Wladimir J. van der Laan)
    583df73acd
  197. better std::exception logging for CAddrDb
    - also small logging text changes
    2fdd4c7933
  198. gitian: use right qt tools in linux build
    If the `libqt4-dev` package is installed it picks the moc executable
    from the system instead of our custom-built one. This results in
    compatibility errors.
    
    This commit convinces configure to pick the right one.
    51cb8fe870
  199. Merge pull request #3602
    2fdd4c7 better std::exception logging for CAddrDb (Philip Kaufmann)
    9eb1e1e8ce
  200. Merge pull request #4114
    bfb154e Update build instructions for Berkeley DB (Wladimir J. van der Laan)
    d0a2e2e Log BerkeleyDB version at startup (Wladimir J. van der Laan)
    3e578aa9b9
  201. stop bitcoind/bitcoin-cli processes that might have been left running 3e7dac9dad
  202. Merge pull request #4074
    d3081fa Removed LevelDB changes (super3)
    1ab62973d3
  203. reorder includes to compile on OpenBSD
    From getifaddr(3) manual:
    "If both <net/if.h> and <ifaddrs.h> are being
    included, <net/if.h> must be included before <ifaddrs.h>"
    
    http://www.openbsd.org/cgi-bin/man.cgi?query=getifaddrs&apropos=0&sektion=0&manpath=OpenBSD+Current&arch=i386&format=html
    2364b118f2
  204. Merge pull request #4119
    2364b11 reorder includes to compile on OpenBSD (Fabian Raetz)
    ab4bd3bdbb
  205. don't use sed's -i option to stay posix compliant
    POSIX does not define sed's -i option. To stay as portable
    as possible we should not relay on it.
    dbe8f75262
  206. doc: remove specific mention of boost 1.55
    There is no need to use any specific version of boost on Linux/Unix.
    Even 1.37 should still work.
    
    Also the mention of boost-dev doesn't belong after adding oldstable.
    Remove it. libboost-all-dev is already mentioned earlier.
    4ff396e45d
  207. Merge pull request #4120
    dbe8f75 don't use sed's -i option to stay posix compliant (Fabian Raetz)
    d4ffe4e425
  208. Create (MANDATORY|STANDARD)_SCRIPT_VERIFY_FLAGS constants 68f7d1d7af
  209. Let tx (in)valid tests use any SCRIPT_VERIFY flag
    Previously only P2SH could be set.
    29c17498a5
  210. add DEFAULT_TRANSACTION_FEE constant in wallet
    - as this is a shared Core/GUI setting, this makes it easier to keep them
      in sync (also no new includes are needed)
    3e1cf9b6f6
  211. rpc: add `getblockchaininfo` and `getnetworkinfo`
    Adds two new info query commands that take over information from
    hodge-podge `getinfo`.
    
    Also some new information is added:
    - `getblockchaininfo`
      - `chain`: (string) current chain (main, testnet3, regtest)
      - `verificationprogress: (numeric) estimated verification progress
      - `chainwork`
    - `getnetworkinfo`
      - `localaddresses`: (array) local addresses, from mapLocalHost (fixes #1734)
    d387b8ec15
  212. Remove NumBlocksOfPeers
    Generally useless information. Only updates on connect time, not after
    that. Peers can easily lie and the median filter is not effective in
    preventing that.
    
    In the past it was used for progress display in the GUI but
    `CheckPoints::guessVerificationProgress` provides a better way that is now used.
    It was too easy to mislead it. Peers do lie about it in practice, see issue #4065.
    
    From the RPC, `getpeerinfo` gives the peer raw values, which are more
    useful.
    aa250f0453
  213. qt: periodic translations update b733288d95
  214. [Qt] fix Qt slot problem in receivecoinsdialog
    - fixes error from debug.log:
      QMetaObject::connectSlotsByName: No matching signal for
      on_recentRequestsView_selectionChanged(QItemSelection,QItemSelection)
    - small style fixes (e.g. alphabetical ordering if includes etc.)
    - fixes #3992
    01ce711798
  215. Merge pull request #4127
    d387b8e rpc: add `getblockchaininfo` and `getnetworkinfo` (Wladimir J. van der Laan)
    acc2d2ca5f
  216. build: fix make clean on OSX
    Rebased-From: 74df0f5
    Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
    13d3adb651
  217. ui: Check for !pixmap() before trying to export QR code
    Adds null pointer checks as well as prevents the Save/Copy context
    menu from appearing at all if no image is shown.
    
    Fixes issue #4140
    9d558e1c18
  218. Add missing cs_main lock to VerifyDB
    Fixes issue #4139.
    a475285a53
  219. [Qt] fix ugly typo in bitcoin.cpp
    Closes #4145.
    
    Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
    Rebased-From: 1e4b083
    4629f95b22
  220. Add rejection of non-null CHECKMULTISIG dummy values
    This is a source of transaction mutability as the dummy value was
    previously not checked and could be modified to something other than the
    usual OP_0 value.
    6380180821
  221. Do not trigger a DoS ban if SCRIPT_VERIFY_NULLDUMMY fails f80cffa213
  222. Increase IsStandard() scriptSig length
    Removes the limits on number of pubkeys for P2SH CHECKMULTISIG outputs.
    Previously with the 500 byte scriptSig limit there were odd restrictions
    where even a 1-of-12 P2SH could be spent in a standard transaction(1),
    yet multisig scriptPubKey's requiring more signatures quickly ran out of
    scriptSig space.
    
    From a "stuff-data-in-the-blockchain" point of view not much has changed
    as with the prior commit now only allowing the dummy value to be null
    the newly allowed scriptSig space can only be used for signatures. In
    any case, just using more outputs is trivial and doesn't cost much.
    
    1) See 779b519480d8c5346de6e635119c7ee772e97ec872240c45e558f582a37b4b73
       Mined by BTC Guild.
    4d79098ad5
  223. Check redeemScript size does not exceed 520 byte limit
    redeemScripts >520bytes can't be spent due to the
    MAX_SCRIPT_ELEMENT_SIZE limit; previously the addmultisigaddress and
    createmultisig RPC calls would let you violate that limit unknowingly.
    
    Also made the wallet code itself check the redeemScript prior to adding
    it to the wallet, which in the (rare) instance that a user has added an
    invalid oversized redeemScript to their wallet causes an error on
    startup. The affected key isn't added to the wallet; other keys are
    unaffected.
    787ee0c913
  224. Merge pull request #4141
    9d558e1 ui: Check for !pixmap() before trying to export QR code (Wladimir J. van der Laan)
    69e264b6f8
  225. Merge pull request #4131
    3e1cf9b add DEFAULT_TRANSACTION_FEE constant in wallet (Philip Kaufmann)
    0ecd8aae20
  226. Typo Fix In decoderawtransaction Help: s/txid/hex/
    Help text appears to have been copy/pasted from getrawtransaction,
    so it erroneously asked for a txid where rawtransaction hex should appear.
    
    Remove lines which were copy/pasted from getrawtransaction but which
    aren't displayed by decoderawtransaction.
    
    Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
    Rebased-From: 5cc0133 80c521e
    Github-Pull: #4106
    e0c06d2c49
  227. qt: fix compile issue in Qt GUI
    This was introduced in 3e1cf9b. Needs a cast to qint64.
    9b4b3cf9cf
  228. build: fix: remove error output
    while git not found in path, error is output to console.
    b1f0be0a05
  229. Merge pull request #4136
    01ce711 [Qt] fix Qt slot problem in receivecoinsdialog (Philip Kaufmann)
    da257a7b36
  230. Merge pull request #4155
    b1f0be0 build: fix: remove error output (harry)
    8b542d5874
  231. Merge pull request #3860 from petertodd/test-checkmulti-n-m-zero
    Test CHECKMULTISIG with m == 0 and/or n == 0
    aaab675a78
  232. Merge pull request #3884
    942b33a Split AcceptBlockHeader from AcceptBlock. (Pieter Wuille)
    f457347 Split up CheckBlock in a block and header version (Pieter Wuille)
    d54985f3f1
  233. Merge pull request #3965
    b1fdd54 script: Add test for CScriptNum (Cory Fields)
    90320d6 script: add additional script tests (Cory Fields)
    05e3ecf script: remove bignum dependency (Cory Fields)
    4f497cd script: switch outside users to CScriptNum (Cory Fields)
    27bff74 script: switch to CScriptNum usage for scripts (Cory Fields)
    48d8eb1 script: add CScriptNum class (Cory Fields)
    1c0319bb2b
  234. Merge pull request #3843
    787ee0c Check redeemScript size does not exceed 520 byte limit (Peter Todd)
    4d79098 Increase IsStandard() scriptSig length (Peter Todd)
    f80cffa Do not trigger a DoS ban if SCRIPT_VERIFY_NULLDUMMY fails (Peter Todd)
    6380180 Add rejection of non-null CHECKMULTISIG dummy values (Peter Todd)
    29c1749 Let tx (in)valid tests use any SCRIPT_VERIFY flag (Peter Todd)
    68f7d1d Create (MANDATORY|STANDARD)_SCRIPT_VERIFY_FLAGS constants (Peter Todd)
    54f102248b
  235. Merge pull request #3637
    6fd7ef2 Also switch the (unused) verification code to low-s instead of even-s. (Pieter Wuille)
    72f754cf51
  236. Fix transaction tests
    Conflict between low-s (6fd7ef2) and test updates in d3a33fc.
    e443ed2462
  237. Deduplicate shared code between uint160 and uint256 eb2cbd754d
  238. Exception instead of assigning 0 in case of wrong vector length 4d480c8a3f
  239. Add multiplication and division to uint160/uint256 a7031507e6
  240. Move {Get,Set}Compact from bignum to uint256 df9eb5e14f
  241. Deduplicate uint* comparison operator logic 397668ea63
  242. util: add parseint32 function with strict error reporting
    None of the current integer parsing functions in util
    check whether the result is valid and fits in the range
    of the type. This is required for less sloppy error reporting.
    0d4ea1cf8a
  243. Use new function parseint32 in SplitHostPort
    Use the new function parseint32 in SplitHostPort instead of calling
    strtol directly.
    d864275299
  244. net: Add CSubNet class for subnet matching e16be73753
  245. rpc: Use netmasks instead of wildcards for IP address matching
    `-rpcallowip` currently has a wacky wildcard-based format. After this
    commit it will accept the more standard format, for example:
    
    - Ranges with netmask 127.0.0.0/255.255.255.0, ::/0
    - Ranges with cidr 12.3.4.5/24, 12:34:56:78:9a:bc:de:00/112
    - Loose IPs ::1, 127.0.0.1
    
    Trying to use the old *?-based format will result in an error message at
    launch.
    ee21912510
  246. Remove unused function WildcardMatch
    No longer necessary after implementing netmask-based matching.
    Also remove a longer-unused function `skipspaces`.
    fdbd7075ca
  247. Add tests for BoostAsioToCNetAddr 21bf3d257b
  248. Merge pull request #4134
    aa250f0 Remove NumBlocksOfPeers (Wladimir J. van der Laan)
    82564e21e7
  249. Merge pull request #4076
    397668e Deduplicate uint* comparison operator logic (Pieter Wuille)
    df9eb5e Move {Get,Set}Compact from bignum to uint256 (Pieter Wuille)
    a703150 Add multiplication and division to uint160/uint256 (Pieter Wuille)
    4d480c8 Exception instead of assigning 0 in case of wrong vector length (Pieter Wuille)
    eb2cbd7 Deduplicate shared code between uint160 and uint256 (Pieter Wuille)
    8bcfccbc2d
  250. Merge pull request #4102
    21bf3d2 Add tests for BoostAsioToCNetAddr (Wladimir J. van der Laan)
    fdbd707 Remove unused function WildcardMatch (Wladimir J. van der Laan)
    ee21912 rpc: Use netmasks instead of wildcards for IP address matching (Wladimir J. van der Laan)
    e16be73 net: Add CSubNet class for subnet matching (Wladimir J. van der Laan)
    d864275 Use new function parseint32 in SplitHostPort (Wladimir J. van der Laan)
    0d4ea1c util: add parseint32 function with strict error reporting (Wladimir J. van der Laan)
    605d5b5558
  251. Merge src/leveldb changes for LevelDB 1.17. aca47d2a24
  252. BitcoinPullTester commented at 5:08 pm on May 9, 2014: none
    Automatic sanity-testing: PASSED, see http://jenkins.bluematt.me/pull-tester/aca47d2a24e39e6a05d85055ce3c6cbcabd8d50b for binaries and test log. This test script verifies pulls every time they are updated. It, however, dies sometimes and fails to test properly. If you are waiting on a test, please check timestamps to verify that the test.log is moving at http://jenkins.bluematt.me/pull-tester/current/ Contact BlueMatt on freenode if something looks broken.
  253. laanwj commented at 7:12 am on May 10, 2014: member
    Diff looks good to me, and as this should increase the robustness of leveldb against corruption in crashes, it is very welcome.
  254. laanwj added this to the milestone 0.9.2 on May 10, 2014
  255. wtogami commented at 7:18 am on May 12, 2014: contributor

    just ignore the entire logical record

    Have you looked into what exactly this means to Bitcoin? Will it rollback and re-index that particular record or silently skip it and lead to a later consensus failure?

  256. sipa commented at 8:34 am on May 12, 2014: member
    This is not about the table files but the log files. The log files just contain a log of modifications (updates and deletes) to be performed on the database. Not being able to read the last one is perfectly fine: it’s just as if we crashed a bit earlier (before we started writing a batch of changes).
  257. wtogami commented at 9:10 am on May 12, 2014: contributor
    Sounds good. We should merge this so it gets more testing ASAP.
  258. sipa commented at 9:16 am on May 12, 2014: member

    Ok, some minimal testing indicates that currently this type of error is already being ignored in our setup as we don’t set options.paranoid_checks. That’s surprising to me, as these are errors that (beside the case modified now in 1.17) usually indicates actual database corruption.

    Once this is merged I think we should experiment with setting paranoid_checks to true, so corruptions other than short writes actually get reported at startup, rather than during self check (or not at all, and cause failed validation).

  259. laanwj merged this on May 12, 2014
  260. laanwj closed this on May 12, 2014

  261. laanwj referenced this in commit 029f4904d1 on May 12, 2014
  262. DrahtBot 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: 2024-06-18 01:12 UTC

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