Use libsecp256k1 for signing operations #5220
pull sipa wants to merge 7292 commits into bitcoin:master from sipa:secp changing 1076 files +285533 −424-
sipa commented at 6:56 pm on November 5, 2014: member
-
Improve getheaders (sending) logging 4c93322923
-
Better logging of stalling 1bcee67ee7
-
Add height to "Requesting block" debug 1af838b339
-
Rename setBlockIndexValid to setBlockIndexCandidates e17bd58392
-
Make -reindex cope with out-of-order blocks
Remember out-of-order block headers along with disk positions. This is likely the simplest and least-impact way to make -reindex work with headers first. Based on top of #4468.
-
Skip reindexed blocks individually
Instead of skipping to the last reindexed block in each file (which could jump over processed out-of-order blocks), just skip each already processed block individually.
-
Fix rebuild-chainstate feature and improve its performance
Previous refactorings broke the ability to rebuild the chainstate by deleting the chainstate directory, resulting in an incorrect "Incorrect or no genesis block found" error message. Fix that. Also, improve the performance of ActivateBestBlockStep by using the skiplist to only discover a few potential blocks to connect at a time, instead of all blocks forever - as we likely bail out after connecting a single one anyway.
-
Fix large reorgs e11b2ce4c6
-
build: fix libtool's refusal to link static libs into a dll 1723862e82
-
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.
-
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.
-
boost: remove CPrivKey dependency from CECKey
This allows CECKey to be used without directly depending on the secure allocators
-
boost: drop boost dependency in core.cpp e1c9467766
-
boost: drop boost dependency in utilstrencodings.cpp 352058e8b0
-
boost: drop boost dependency in version.cpp.
Also add a test to verify.
-
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)
-
Add LIBTOOLFLAGS CXX tag to qt makefile include
Related #4993
-
Squashed 'src/leveldb/' changes from 7924331..7d41e6f
7d41e6f Merge upstream LevelDB 1.18 803d692 Release 1.18 git-subtree-dir: src/leveldb git-subtree-split: 7d41e6f89ff04ce9e6a742932924796f69c6e23d
-
Merge src/leveldb changes for LevelDB 1.18. 5b9f8425a5
-
squashme on 3fdb9e8c (Bluematt's bikeshedding) ca3ce0fa03
-
MOVEONLY: CInPoint from core to txmempool e8ea0fd19e
-
Merge pull request #5096
e8ea0fd MOVEONLY: CInPoint from core to txmempool (jtimon)
-
Merge pull request #4804 from jtimon/chainparams3
Remove CBaseChainParams::NetworkID()
-
Add a SECURE style flag for ThreadSafeMessageBox, which indicates that the message contains sensitive information. This keeps the message from being output to the debug log by bitcoind. Fixes a possible security risk when starting bitcoind in server mode without the 'rpcpassword' option configured, resulting in the "suggested" password being output to the debug log. d4746d56c0
-
Merge pull request #5092
6f155bd Add LIBTOOLFLAGS CXX tag to qt makefile include (Michael Ford)
-
doc: Add historical release notes for 0.9.3 8e9a665f55
-
Merge pull request #4468
e11b2ce Fix large reorgs (Pieter Wuille) afc32c5 Fix rebuild-chainstate feature and improve its performance (Pieter Wuille) 16d5194 Skip reindexed blocks individually (Pieter Wuille) ad96e7c Make -reindex cope with out-of-order blocks (Wladimir J. van der Laan) e17bd58 Rename setBlockIndexValid to setBlockIndexCandidates (Pieter Wuille) 1af838b Add height to "Requesting block" debug (R E Broadley) 1bcee67 Better logging of stalling (R E Broadley) 4c93322 Improve getheaders (sending) logging (R E Broadley) f244c99 Remove CheckMinWork, as we always know all parent headers (Pieter Wuille) ad6e601 RPC additions after headers-first (Pieter Wuille) 341735e Headers-first synchronization (Pieter Wuille)
-
Add buildenv.py to gitignore 1d66bbcbfc
-
script: move CScriptID to standard.h and add a ctor for creating them from CScripts
This allows for a reversal of the current behavior. This: CScript foo; CScriptID bar(foo.GetID()); Becomes: CScript foo; CScriptID bar(foo); This way, CScript is no longer dependent on CScriptID or Hash();
-
script: add ToByteVector() for converting anything with begin/end
This should move to a util header once their dependencies are cleaned up.
-
script: move ToString and ValueString out of the header db8eb54bd7
-
script: add a slew of includes all around and drop includes from script.h
Lots of files ended up with indirect includes from script.h.
-
Merge pull request #5095
d4746d5 Add a SECURE style flag for ThreadSafeMessageBox, which indicates that the message contains sensitive information. This keeps the message from being output to the debug log by bitcoind. Fixes a possible security risk when starting bitcoind in server mode without the 'rpcpassword' option configured, resulting in the "suggested" password being output to the debug log. (Mark Friedenbach)
-
Add IsNull() to class CAutoFile and remove operator ! fef24cab1a
-
Rename CWalletInterface to CValidationInterface
It's useful for much more than wallets.
-
Chain::SetTip return type to void b7ae2c172a
-
Fixes for missing boost tuple.hpp header include. a3c26c2e85
-
Add CValidationInterface::BlockChecked notification 24e8896430
-
Bugfix: submitblock: Use a temporary CValidationState to determine accurately the outcome of ProcessBlock, now that it no longer does the full block validity check f877aaaf16
-
Rename RPC_TRANSACTION_* errors to RPC_VERIFY_* and use RPC_VERIFY_ERROR for submitblock d29a2917ff
-
Merge pull request #5098
1d66bbc Add buildenv.py to gitignore (Michael Ford)
-
Merge pull request #5105
a96d113 Rename CWalletInterface to CValidationInterface (Pieter Wuille)
-
Merge pull request #5076
c0195b1 Bugfix: Remove default from -zapwallettxes description (inaccurate) (Luke Dashjr) 0a08aa8 Parameterise command line option defaults, so translations are independent of them (Luke Dashjr)
-
qt: English translation update after 0a08aa8 6d3ab8564c
-
doc: add headers first backwards compat warning c313d6ecb9
-
qt: small English language updates from translators
More friendly language, use placeholders where possible
-
rpc: Fix leveldb iterator leak, and flush before `gettxoutsetinfo`
This fixes an iterator leak resulting in bitcoind: db/version_set.cc:789: leveldb::VersionSet::~VersionSet(): Assertion `dummy_versions_.next_ == &dummy_versions_' failed." exception on shutdown. Also make sure to flush pcoinsTip before calling GetStats() to make sure we apply them to the current height.
-
openssl version bump
Bumps the OpenSSL version to the latest release, and kills SSL2. (SSL3 was already killed here, so I'm not sure why SSL2 was left around?) No other changes.
-
Replace some function names with __func__ 7b2bb96271
-
CAutoFile: Explicit Get() and remove unused methods
Also add documentation to some methods.
-
Merge pull request #5104
b7ae2c1 Chain::SetTip return type to void (21E14)
-
Merge pull request #5110
a3c26c2 Fixes for missing boost tuple.hpp header include. (randy-waterhouse)
-
Merge pull request #5108
a873823 CAutoFile: Explicit Get() and remove unused methods (Wladimir J. van der Laan) fef24ca Add IsNull() to class CAutoFile and remove operator ! (Ruben Dario Ponticeli)
-
Merge pull request #4988
7b2bb96 Replace some function names with __func__ (Pieter Wuille) ed6d1a2 Keep information about all block files in memory (Pieter Wuille)
-
Merge pull request #4981
85c579e script: add a slew of includes all around and drop includes from script.h (Cory Fields) db8eb54 script: move ToString and ValueString out of the header (Cory Fields) e9ca428 script: add ToByteVector() for converting anything with begin/end (Cory Fields) 066e2a1 script: move CScriptID to standard.h and add a ctor for creating them from CScripts (Cory Fields)
-
boost: split stream classes out of serialize.h
serialization now has no dependencies.
-
Update license in pull-tester and rpc-tests
Add missing copyright/license header where necessary
-
doc: release notes update for `rpcallowip` syntax change c8a25189bc
-
qt: remove monitoreddatamapper
We haven't used the viewModified signal in ages, so we can use a normal QDataWidgetMapper.
-
fix build with libc++ after 85c579e 3a757c5294
-
Merge pull request #5128
3a757c5 fix build with libc++ after 85c579e (Cory Fields) Signed-off-by: Gavin Andresen <gavinandresen@gmail.com>
-
Add doc/doxygen to .gitignore c772f4cb04
-
Extend getchaintips RPC test.
Add the capability to simulate network splits to the RPC test framework and use it to do more extensive testing of 'getchaintips'.
-
Work around #5113. 2290ed01bc
-
Clear vFixedSeeds for regtest network
It shouldn't inherit these from testnet. (seems to be already done for unit test network but forgotten here...) Fixes #5127.
-
Update comments in addrman to be doxygen compatible
Also correct the file license
-
Make CBlockIndex* returned by GetDepthInMainChain const.
Make the CBlockIndex* (optionally) returned by GetDepthInMainChain const. This prevents accidental modification. The result is for reading its properties rather than modifying it.
-
Merge pull request #5116
a6a3f14 openssl version bump (Dominyk Tiller)
-
--tracerpc option for regression tests
Run tests with --tracerpc and all RPC calls will dump to the console. Very helpful for debugging.
-
getblockhash: throw JSONRPCError (not runtime_error) 6261e6e6e0
-
Merge pull request #5133 from laanwj/2014_10_regtest_fixed_seeds
Clear vFixedSeeds for regtest network
-
Merge pull request #5137
ec01243 --tracerpc option for regression tests (Gavin Andresen)
-
Merge pull request #5132
2290ed0 Work around #5113. (Daniel Kraft) dcb9846 Extend getchaintips RPC test. (Daniel Kraft) Signed-off-by: Gavin Andresen <gavinandresen@gmail.com>
-
Start with tidier cache directories
Remove more files from the cached, 200-block-chain data directories.
-
[Qt] Remove CAmount from BitcoinAmountField Q_PROPERTY 7014f382e3
-
Merge pull request #5117
7014f38 [Qt] Remove CAmount from BitcoinAmountField Q_PROPERTY (Cozz Lovan)
-
Merge pull request #5131
24f5c94 Update comments in addrman to be doxygen compatible (Michael Ford) c772f4c Add doc/doxygen to .gitignore (Michael Ford)
-
Update comments in chain to be doxygen compatible 2fdc3351d7
-
Update comments in chainparams to be doxygen compatible f2e03ffae9
-
Merge pull request #5093
4b0e2d7 Squashed 'src/leveldb/' changes from 7924331..7d41e6f (Pieter Wuille)
-
Add SCRIPT_VERIFY_SIGPUSHONLY (BIP62 rule 2) d752ba86c1
-
Add SCRIPT_VERIFY_MINIMALDATA (BIP62 rules 3 and 4)
Also use the new flag as a standard rule, and replace the IsCanonicalPush standardness check with it (as it is more complete).
-
Improve CScriptNum() comment
Edited-by: Pieter Wuille <pieter.wuille@gmail.com>
-
Ensure MINIMALDATA invalid tests can only fail one way
Removes the need for the 'negated' versions of the tests, and ensures other failures don't mask what we're trying to test.
-
Test every numeric-accepting opcode for correct handling of the numeric minimal encoding rule dfeec18b85
-
Clearly separate PUSHDATA and numeric argument MINIMALDATA tests 2b62e1796b
-
Add valid invert of invalid every numeric opcode tests 16d78bd68e
-
Merge pull request #5134
6261e6e getblockhash: throw JSONRPCError (not runtime_error) (dexX7)
-
Enable customising node policy for datacarrier data size with a -datacarriersize option 2aa632921e
-
Merge pull request #5115
33dfbf5 rpc: Fix leveldb iterator leak, and flush before `gettxoutsetinfo` (Wladimir J. van der Laan)
-
Merge pull request #5119
fa73619 boost: split stream classes out of serialize.h (Cory Fields)
-
Merge pull request #5086
1723862 build: fix libtool's refusal to link static libs into a dll (Cory Fields) 28d412f build: quit abusing LIBS for Windows builds. (Cory Fields)
-
Build util and common before building server 071473c55c
-
Merge pull request #5112
071473c Build util and common before building server (jtimon)
-
Merge pull request #5121
214091d Update license in pull-tester and rpc-tests (Michael Ford)
-
MOVEONLY: Move CFeeRate and Amount constants to amount.o eda3733091
-
MOVEONLY: Separate CTransaction and dependencies from core 4a3587d8db
-
MOVEONLY: separate CTxUndo out of core 999a2ab41e
-
MOVEONLY: Move script/compressor out of script and put CTxOutCompressor (from
core) with it
-
MOVEONLY: core.o -> core/block.o 99f41b9cf7
-
Merge pull request #5139
9f87325 Start with tidier cache directories (Gavin Andresen) Signed-off-by: Gavin Andresen <gavinandresen@gmail.com>
-
Merge pull request #5135
a31e8ba Make CBlockIndex* returned by GetDepthInMainChain const. (Daniel Kraft) Signed-off-by: Gavin Andresen <gavinandresen@gmail.com>
-
boost: remove CPubKey dependency from CECKey. Follow-up of e405aa48 bdaec6abd3
-
boost: code movement only: split CECKey into separate files 50f71cd52e
-
Update generate-seeds.py to produce doxygen compatible comments 02fe12dcf4
-
Merge pull request #5118
50f71cd boost: code movement only: split CECKey into separate files (Cory Fields) bdaec6a boost: remove CPubKey dependency from CECKey. Follow-up of e405aa48 (Cory Fields)
-
Update comments in wallet to be doxygen compatible 5b40d88688
-
Update comments in key to be doxygen compatible ffd8eddab5
-
Update comments in keystore to be doxygen compatible 2b173d3bcc
-
Rename ProcessBlock to ProcessNewBlock to indicate change of behaviour, and document it 1bea2bbddc
-
Merge pull request #5065
16d78bd Add valid invert of invalid every numeric opcode tests (Peter Todd) 2b62e17 Clearly separate PUSHDATA and numeric argument MINIMALDATA tests (Peter Todd) dfeec18 Test every numeric-accepting opcode for correct handling of the numeric minimal encoding rule (Peter Todd) 554147a Ensure MINIMALDATA invalid tests can only fail one way (Peter Todd) 6004e77 Improve CScriptNum() comment (Peter Todd) 698c6ab Add SCRIPT_VERIFY_MINIMALDATA (BIP62 rules 3 and 4) (Pieter Wuille) d752ba8 Add SCRIPT_VERIFY_SIGPUSHONLY (BIP62 rule 2) (Pieter Wuille)
-
Merge pull request #5100
99f41b9 MOVEONLY: core.o -> core/block.o (jtimon) 561e9e9 MOVEONLY: Move script/compressor out of script and put CTxOutCompressor (from core) with it (jtimon) 999a2ab MOVEONLY: separate CTxUndo out of core (jtimon) 4a3587d MOVEONLY: Separate CTransaction and dependencies from core (jtimon) eda3733 MOVEONLY: Move CFeeRate and Amount constants to amount.o (jtimon)
-
qt: Move transaction notification to transaction table model
Move transaction new/update notification to TransactionTableModel. This moves the concerns to where they're actually handled. No need to bounce this through wallet model. - Do wallet transaction preprocessing on signal handler side; avoids locking cs_main/cs_wallet on notification in GUI thread (except for new transactions)
-
Separate protocol versioning from clientversion 71697f97d3
-
Add missing reserved address spaces. 2d06c0febf
-
Don't relay alerts to peers before version negotiation
Fixes #1436
-
Introduce preferred download peers b4ee0bddad
-
Fix for crash during block download 4ead850fe5
-
Fix -loadblock after shutdown during IBD 8375e2215f
-
Be a bit more verbose during -loadblock if we already have blocks 50b43fda08
-
RPC: submitblock: Support for returning specific rejection reasons e69a5873e7
-
Print parameter interactions to console, too eadcd0c802
-
Update comments in rpcserver to be doxygen compatible 7792040294
-
[Qt] fix slot connection problems when no wallet is loaded
- guard 4 connect calls by an #ifdef when no wallet is loaded to fix "No such slot" warnings - also add comments when #ifdef ENABLE_WALLET end - fixes #5175
-
Merge pull request #5148
2b173d3 Update comments in keystore to be doxygen compatible (Michael Ford) ffd8edd Update comments in key to be doxygen compatible (Michael Ford)
-
Merge pull request #5142
02fe12d Update generate-seeds.py to produce doxygen compatible comments (Michael Ford) f2e03ff Update comments in chainparams to be doxygen compatible (Michael Ford) 2fdc335 Update comments in chain to be doxygen compatible (Michael Ford)
-
Merge pull request #5176
981f790 [Qt] fix slot connection problems when no wallet is loaded (Philip Kaufmann)
-
Merge pull request #5172
eadcd0c Print parameter interactions to console, too (Matt Corallo)
-
Merge pull request #5167
2d06c0f Add missing reserved address spaces. (Matt Corallo)
-
Merge pull request #5174
7792040 Update comments in rpcserver to be doxygen compatible (Michael Ford)
-
Merge pull request #5146
5b40d88 Update comments in wallet to be doxygen compatible (Michael Ford)
-
Merge pull request #5164
71697f9 Separate protocol versioning from clientversion (Cory Fields)
-
Update comments in version to be doxygen compatible 6395ba3036
-
Update comments in client version to be doxygen compatible 484e350f04
-
tests: enable alertnotify test for Windows
The semantics of "echo" are different there and they change the resulting text, but they're still correct and predictable.
-
tests: allow rpc-tests to get filenames for bitcoind and bitcoin-cli from the environment
This will allow for windows tests to run with bitcoind.exe and bitcoin-cli.exe
-
tests: fix forknotify.py on windows
Windows interprets 'foo.txt' as a literal filename while "foo.txt" is treated as expected.
-
tests: remove old pull-tester scripts
They're unused since the switch to Travis
-
tests: replace the old (unused since Travis) tests with new rpc test scripts 7667850dbf
-
add tests to travis 2191eac812
-
Update serialize comments to be doxygen compatible 1c0aa9110e
-
boost: moveonly: create eccryptoverify.h|cpp and move helper functions there
Eventually (after 0.10) these files will hold the logic for crypto verification routines, and CKey/CPubKey will call into them.
-
boost: moveonly: move BIP32Hash to hash.h 78c228c6e5
-
boost: moveonly: split CPubKey and friends to new files d2e74c55bd
-
minor cleanup: include orders, end comments etc.
- no code changes
-
Merge pull request #5168
023e63d qt: Move transaction notification to transaction table model (Wladimir J. van der Laan)
-
Merge pull request #5077
2aa6329 Enable customising node policy for datacarrier data size with a -datacarriersize option (Luke Dashjr)
-
qt: translations update from Transifex 917b83127d
-
fix a typo e743678d5a
-
Merge pull request #5187
e743678 fix a typo (Yoichi Hirai)
-
Merge pull request #5145
484e350 Update comments in client version to be doxygen compatible (Michael Ford) 6395ba3 Update comments in version to be doxygen compatible (Michael Ford)
-
util.cpp comment correction a2cfae8e18
-
Merge pull request #5169
20a5f61 Don't relay alerts to peers before version negotiation (Wladimir J. van der Laan)
-
Merge pull request #5185
2191eac add tests to travis (Cory Fields) 7667850 tests: replace the old (unused since Travis) tests with new rpc test scripts (Cory Fields) fa7f8cd tests: remove old pull-tester scripts (Cory Fields) 5122ea7 tests: fix forknotify.py on windows (Cory Fields) 7a41614 tests: allow rpc-tests to get filenames for bitcoind and bitcoin-cli from the environment (Cory Fields) f635269 tests: enable alertnotify test for Windows (Cory Fields)
-
Remove file and class order guidelines be0e0703f2
-
Merge pull request #5106
1bea2bb Rename ProcessBlock to ProcessNewBlock to indicate change of behaviour, and document it (Luke Dashjr) d29a291 Rename RPC_TRANSACTION_* errors to RPC_VERIFY_* and use RPC_VERIFY_ERROR for submitblock (Luke Dashjr) f877aaa Bugfix: submitblock: Use a temporary CValidationState to determine accurately the outcome of ProcessBlock, now that it no longer does the full block validity check (Luke Dashjr) 24e8896 Add CValidationInterface::BlockChecked notification (Luke Dashjr)
-
Merge pull request #5186
771d500 minor cleanup: include orders, end comments etc. (Philip Kaufmann)
-
Merge pull request #5201 from sipa/order
Remove file and class order guidelines
-
Fix all header defines 84738627ce
-
Merge pull request #5157
b4ee0bd Introduce preferred download peers (Pieter Wuille)
-
Merge pull request #3727
e69a587 RPC: submitblock: Support for returning specific rejection reasons (Luke Dashjr)
-
Merge pull request #5162
d2e74c5 boost: moveonly: split CPubKey and friends to new files (Cory Fields) 78c228c boost: moveonly: move BIP32Hash to hash.h (Cory Fields) 900078a boost: moveonly: create eccryptoverify.h|cpp and move helper functions there (Cory Fields)
-
Merge pull request #5196
8473862 Fix all header defines (Pavel Janík)
-
The first thing that SelectParams does is call SelectBaseParams. Therefore, we do not need to call SelectBaseParams immediately prior to calling SelectParams. 0d91ae308c
-
Merge pull request #5191
a2cfae8 util.cpp comment correction (21E14)
-
minor code style cleanup after recent merges
- add a missing license header - correct some header orderings etc.
-
Merge pull request #5205
b4347f6 minor code style cleanup after recent merges (Philip Kaufmann)
-
build: Fix "too many arguments" error
Closes #5141
-
Add "warmup mode" for RPC server.
Start the RPC server before doing all the (expensive) startup initialisations like loading the block index. Until the node is ready, return all calls immediately with a new error signalling "in warmup" with an appropriate status message (similar to the init message). This is useful for RPC clients to know that the server is there (e. g., they don't have to start it) but not yet available. It is used in Namecoin and Huntercoin already for some time, and there exists a UI hooked onto the RPC interface that actively uses this to its advantage.
-
Merge pull request #5007
af82884 Add "warmup mode" for RPC server. (Daniel Kraft)
-
Avoid a bunch of copying/conversion in script/sign 1f847936c9
-
depends: boost: hard-code hidden symbol visibility
tl;dr: This solves boost visibility problems for default/release build configs on non-Linux platforms. When Bitcoin builds against boost's header-only classes, it ends up with objects containing symbols that the upstream boost libs also have. Since Bitcoin builds by default with hidden symbol visibility, it can end up trying to link against a copy of the same symbols with default visibility. This is not a problem on Linux because 3rd party static libs are un-exported by default (--exclude-libs,ALL), but that is not available for MinGW and OSX. Those platforms (and maybe others?) end up confused about which version to use. The OSX linker spews hundreds of: "ld: warning: direct access in <foo> to global weak symbol guard variable for <bar> means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings." MinGW's linker complains similarly. Since the default symbol visibility for Bitcoin is hidden and releases are built that way as well, build Boost with hidden visibility. Linux builds Boost this way also, but only for the sake of continuity. This means that the linker confusion logic is reversed, so the problem will will now be encountered if Bitcoin is built with --disable-reduce-exports, but that's better than the current situation.
-
Merge pull request #5173
50b43fd Be a bit more verbose during -loadblock if we already have blocks (Matt Corallo) 8375e22 Fix -loadblock after shutdown during IBD (Matt Corallo) 4ead850 Fix for crash during block download (Matt Corallo)
-
Qt: Network-Traffic-Graph: make some distance between line and text
Text directly glued on the graph-line looks not so good.
-
Qt: Add support for missing scrollbar in peers table 236d96e0a3
-
Merge pull request #5218
236d96e Qt: Add support for missing scrollbar in peers table (Jonas Schnelli)
-
Merge pull request #5215
93a3f0e Qt: Network-Traffic-Graph: make some distance between line and text (Jonas Schnelli)
-
sipa commented at 8:31 pm on November 5, 2014: memberSo without the unsetting of LDFLAGS/CFLAGS/LIBS, configuring libsecp256k1 fails. With unsetting all 3, bitcoind linking can’t find getaddrinfo/etc anymore. With unsetting just LDFLAGS/CFLAGS, but keeping LIBS, the above happens.
-
Reduce bitcoin-cli dependencies 93a6022400
-
Rearrange initial config checks: AC, AM, compiler, libtool.
Removed some repeated and unused prog checks.
-
theuni commented at 4:56 am on November 6, 2014: member
@sipa See https://github.com/theuni/bitcoin/tree/5220, which is a handful of commits on top of this PR. I believe that should be working everywhere.
Note that there are two patches for gmp to fix build issues (arm and darwin), both of which came from upstream.
Including the lib as a subdir should eliminate the build problems we discussed on IRC, since that makes it “internal”. That’s only really possible if libsecp256k1 is non-optional for Bitcoin’s build.
-
Always log number of threads for script verification
Helps for troubleshooting.
-
Change -genproclimit default to 1
This is less surprising. Avoids the overload-the-CPU default of using N threads for script verification as well as N threads for generation where N is number of cores.
-
Merge pull request #5221
93a6022 Reduce bitcoin-cli dependencies (Pieter Wuille)
-
sipa force-pushed on Nov 6, 2014
-
Reduce bitcoin-tx dependencies bfe029feeb
-
Merge pull request #5213
0246ab6 depends: boost: hard-code hidden symbol visibility (Cory Fields)
-
Merge pull request #5223
bfe029f Reduce bitcoin-tx dependencies (Pieter Wuille)
-
Merge pull request #5214
eefb766 Rearrange initial config checks: AC, AM, compiler, libtool. Removed some repeated and unused prog checks. (kiwigb)
-
laanwj added the label Wallet on Nov 6, 2014
-
sipa force-pushed on Nov 6, 2014
-
theuni commented at 8:37 pm on November 6, 2014: member@sipa Please take https://github.com/theuni/bitcoin/commit/8a6376ee3090f83a6e7c73f428952faa42722327 and squash it down if you’d prefer. I believe that’ll break native OSX builds otherwise.
-
Fixing warning C4099: 'CExtPubKey' : type name first seen using 'class' now seen using 'struct' 5985ba9e61
-
Fix node ranges in the test framework. 2db4c8a24d
-
Merge pull request #5232
5985ba9 Fixing warning C4099: 'CExtPubKey' : type name first seen using 'class' now seen using 'struct' (ENikS)
-
doc: Correct several typos in bootstrap.md
- Also remove references to the blockchain size
-
Merge pull request #5225
369be58 doc: Correct several typos in bootstrap.md (sandakersmann)
-
Make sure that GetRandomBytes never fails
We're using GetRandomBytes in several contexts where it's either unwieldy to return an error, or an error would mean a fatal exception anyhow. @gmaxwell checked OpenSSL a while ago and discovered that it never actually fails, but it can't hurt to be a bit paranoid here.
-
gather_inputs: use correct variable in error message
"amount" and "fee" do not exist (anymore?).
-
Do not use third party services for IP detection.
This is a simplified re-do of closed pull #3088. This patch eliminates the privacy and reliability problematic use of centralized web services for discovering the node's addresses for advertisement. The Bitcoin protocol already allows your peers to tell you what IP they think you have, but this data isn't trustworthy since they could lie. So the challenge is using it without creating a DOS vector. To accomplish this we adopt an approach similar to the one used by P2Pool: If we're announcing and don't have a better address discovered (e.g. via UPNP) or configured we just announce to each peer the address that peer told us. Since peers could already replace, forge, or drop our address messages this cannot create a new vulnerability... but if even one of our peers is giving us a good address we'll eventually make a useful advertisement. We also may randomly use the peer-provided address for the daily rebroadcast even if we otherwise have a seemingly routable address, just in case we've been misconfigured (e.g. by UPNP). To avoid privacy problems, we only do these things if discovery is enabled.
-
Merge pull request #5210
1f84793 Avoid a bunch of copying/conversion in script/sign (Pieter Wuille)
-
Adding license. a8a5e0133a
-
Adding const. 38c62aec0d
-
Make comments in /src/script doxygen compatible b9a36b15bf
-
Merge pull request #5249
38c62ae Adding const. (sinetek)
-
sipa force-pushed on Nov 10, 2014
-
Do signature-s negation inside the tests
To avoid the need for libsecp256k1 to expose such functionality.
-
sipa force-pushed on Nov 10, 2014
-
Merge pull request #5239
65e3a1e Make sure that GetRandomBytes never fails (Wladimir J. van der Laan)
-
Merge pull request #5246
a8a5e01 Adding license. (sinetek)
-
sipa force-pushed on Nov 10, 2014
-
Don't show wallet options in the preferences menu when running with -disablewallet d52f072605
-
Merge pull request #5245
d52f072 Don't show wallet options in the preferences menu when running with -disablewallet (sinetek)
-
Add unauthenticated HTTP REST interface to public blockchain data. e2655e0ab1
-
sipa force-pushed on Nov 12, 2014
-
Merge pull request #5240
5e2dcae gather_inputs: use correct variable in error message (dexX7)
-
Merge pull request #5161
845c86d Do not use third party services for IP detection. (Gregory Maxwell)
-
Merge pull request #5256
f4e0aef Do signature-s negation inside the tests (Pieter Wuille)
-
travis: install less packages from apt-get 096efc5812
-
travis: attempt to fix unlikely build issue
This is a long chain of errors, and there are likely other changes that could be made to cope in other places along that chain. If depends don't build successfully, don't bother trying again for the sake of better logging. That's likely to hurt more than help. In this case, qt build failed, and on the second attempt, it appeared to be successful. However, due to a bad object from an internal gcc error on the first build, the resulting lib was unusable. This caused bitcoin-qt to not be built, and tests and packaging which expected bitcoin-qt to be there failed. The root cause: Mingw is especially crashy when using -jX, likely compounded by low-memory environments. I've seen multiple problems with this combo in Gitian as well. In this case: i686-w64-mingw32-g++: internal compiler error: Killed (program cc1plus) ... make[3]: *** [.obj/release/qdrawhelper.o] Error 4 The workaround: Bump Travis down to using -j2 by default. Additionaly, enable --with-gui for the windows builds. This will cause configure to fail if qt is not working while also testing the config flag. Other failures which may be worth revisiting separately: - If a depends package fails, maybe remove the workdir so that it doesn't taint subsequent runs - See if there's anything repeatable about the ICE when building qt
-
depends: cleanup better after qt and force a bump
qt needs to be rebuilt for travis. The previous commit should help ensure that this won't need to be done again.
-
travis: temporarily disable the forknotify test
It appears to be breaking randomly on Windows
-
Merge pull request #5268
c8b115e travis: temporarily disable the forknotify test (Cory Fields) 1877390 depends: cleanup better after qt and force a bump (Cory Fields) 560e996 travis: attempt to fix unlikely build issue (Cory Fields)
-
Merge pull request #5203
0d91ae3 The first thing that SelectParams does is call SelectBaseParams. Therefore, we do not need to call SelectBaseParams immediately prior to calling SelectParams. (mruddy)
-
Merge pull request #5252
b9a36b1 Make comments in /src/script doxygen compatible (Michael Ford)
-
Merge pull request #5198
1c0aa91 Update serialize comments to be doxygen compatible (Michael Ford)
-
don't override dir() in qa rpc tests
Replace "dir" with "dirname" in util.py in qa/rpc-tests/ because "dir" is the name of a function in python.
-
sipa force-pushed on Nov 14, 2014
-
Optimize -regtest setgenerate block generation
Speed up generating blocks in regression test mode, by moving block-creating and nonce-finding directly into the setgenerate RPC call (instead of starting up a mining thread and waiting for it to find a block). This makes the forknotify RPC test three times quicker, for example (10 seconds runtime instead of 30 seconds, assuming the initial blockchain cache is already built).
-
script: create sane error return codes for script validation and remove logging
Attempt to codify the possible error statuses associated with script validation. script/types.h has been created with the expectation that it will be part of the public lib interface. The other flag enums will be moved here in a future commit. Logging has also been removed in order to drop the dependency on core.h. It can be re-added to bitcoind as-needed. This makes script verification finally free of application state and boost!
-
script: check ScriptError values in script tests 219a1470c4
-
[Qt] Fix height of BitcoinAmountField 7335ca1a05
-
Fix typo in listreceivedbyaddress and listaccounts help text 5617267cd5
-
Bugfix: Clarify coin control dialog labels 4ff81d6092
-
Coin Control: Make list mode default 5d60b694e9
-
Update comments in txmempool to be doxygen compatible
Fix typo in Read() error message
-
Update comments in util to be doxygen compatible c63a73d18a
-
Merge pull request #5287
7335ca1 [Qt] Fix height of BitcoinAmountField (Cozz Lovan)
-
[OSX, docs] update some release build informations
- switching release builds to 10.7 - release binary looks like 64bit only - tested up to 10.10 - gitian builder builds against 10.7. The docs should be consistant. - remove 32bit text because nowadays it's obvious to support 64bit only on OSX.
-
Merge pull request #5282
a7af983 don't override dir() in qa rpc tests (Bryan Bishop)
-
sipa force-pushed on Nov 17, 2014
-
Merge pull request #5275
1837987 Optimize -regtest setgenerate block generation (Gavin Andresen) Signed-off-by: Gavin Andresen <gavinandresen@gmail.com>
-
Merge pull request #5292
7329fdd Update comments in txmempool to be doxygen compatible (Michael Ford)
-
Merge pull request #5289
5617267 Fix typo in listreceivedbyaddress and listaccounts help text (Michael Ford)
-
Merge pull request #5293
c63a73d Update comments in util to be doxygen compatible (Michael Ford)
-
Merge pull request #5237
2db4c8a Fix node ranges in the test framework. (Daniel Kraft)
-
Merge pull request #5212
219a147 script: check ScriptError values in script tests (Cory Fields) ab9edbd script: create sane error return codes for script validation and remove logging (Cory Fields)
-
Merge pull request #5297
096efc5 travis: install less packages from apt-get (Cory Fields)
-
Merge pull request #5290
5d60b69 Coin Control: Make list mode default (Luke Dashjr) 4ff81d6 Bugfix: Clarify coin control dialog labels (Luke Dashjr)
-
laanwj commented at 3:14 pm on November 18, 2014: member
Doesn’t build for me on Ubuntu 14.04. I’m using:
0$ contrib/devtools/github-merge.sh 5220 1$ ./configure --with-gui=qt5 --with-incompatible-bdb 2... 3=== configuring in src/secp256k1 (/store/orion/projects/bitcoin/bitcoin/src/secp256k1) 4configure: WARNING: no configuration information is in src/secp256k1 5Fixing libtool for -rpath problems. 6 7$ make 8Making all in src 9... 10make[1]: Entering directory `/store/orion/projects/bitcoin/bitcoin/src' 11make[2]: Entering directory `/store/orion/projects/bitcoin/bitcoin/src' 12make[3]: Entering directory `/store/orion/projects/bitcoin/bitcoin/src/secp256k1' 13make[3]: *** No rule to make target `libsecp256k1.la'. Stop. 14make[3]: Leaving directory `/store/orion/projects/bitcoin/bitcoin/src/secp256k1' 15make[2]: *** [secp256k1/libsecp256k1.la] Error 2 16make[2]: Leaving directory `/store/orion/projects/bitcoin/bitcoin/src' 17make[1]: *** [all-recursive] Error 1 18make[1]: Leaving directory `/store/orion/projects/bitcoin/bitcoin/src' 19make: *** [all-recursive] Error 1
-
sipa commented at 3:16 pm on November 18, 2014: memberDid you re-run ./autogen.sh?
-
Merge pull request #2844 9445b876bd
-
laanwj commented at 3:27 pm on November 18, 2014: memberOh, yes, that seems to have been the problem.
-
HTTP REST: minor fixes
1) const-ify internal helper ParseHashStr() 2) use HTTPError() helper when returning HTTP_NOT_FOUND
-
laanwj commented at 4:28 pm on November 18, 2014: memberTested ACK commithash a52e11b2fb8c2b1ed7f1bd3f3837b23bf5f52b9e https://dev.visucore.com/bitcoin/acks/5220
-
Delete src/secp256k1 before subtree import 7a7e109139
-
Merge commit 'd48555b36ac512161b81f9b6bca7bea16a0cd806' as 'src/secp256k1' 2245a95ce8
-
Always build and link libsecp256k1 07a9901703
-
Do not use EC code in global constructors 4c97c64bf6
-
Use libsecp256k1 in key.cpp dffb8f81b8
-
Don't use bashisms in configure cf61b5441b
-
depends: add gmp package ff1e5ba8c7
-
depends: quit exporting in config.site 54566de29d
-
build: fixup configure to not export anything 0dc8613864
-
build: secp256k1 as a subdir, since it's required 4300876c81
-
revert part of 9eda1620b
This probably would've broken native OSX builds
-
sipa force-pushed on Nov 18, 2014
-
sipa commented at 5:12 pm on November 18, 2014: memberSorry, I updated the secp256k1 code to a newer version. I’ll pull in further updates as extra commits instead.
-
gmaxwell commented at 5:59 pm on November 18, 2014: contributorugh. why does this the .patch for this PR write files all over src/ instead of putting them in secp256k1/src/ ? I guess this is just something screwy with github and subtrees?
-
gmaxwell commented at 8:21 pm on November 18, 2014: contributorACK.
-
TheBlueMatt commented at 8:22 pm on November 18, 2014: member@gmaxwell thats a git bug, not a github bug (go try to rebase this pull, git will spew crap all over src/)
-
laanwj merged this on Nov 19, 2014
-
laanwj closed this on Nov 19, 2014
-
laanwj referenced this in commit 271061242b on Nov 19, 2014
-
sipa commented at 12:25 pm on November 19, 2014: memberGenerally you would first build libsecp256k1.la inside the secp256k1 directory, and then link against it. What that translates to for $UNSPECIFIED_OTHER_BUILD_SYSTEM, no idea.
-
cozz commented at 2:26 pm on November 19, 2014: contributor
Why are there so many commits (250+) in this pull request, and 1122 files changed? It looks like a lot of old commits got remerged, is this intentional? I am no git-expert, it just looks weird here on github. To me it looks like we did something wrong when rebasing.
Headline says “laanwj merged 7,292 commits into bitcoin:master”
-
sipa commented at 2:28 pm on November 19, 2014: memberGithub just barfs at this for some reason. The actual commit in git is fine.
-
cozz commented at 2:44 pm on November 19, 2014: contributorok, fine with me. The old commit hashes are still the same, so it really looks like only github got confused.
-
laanwj commented at 2:47 pm on November 19, 2014: memberIndeed, Actual Git shows everything is fine. I’ve seen this before, not sure what causes it; maybe github gets confused by subtree as well.
-
Diapolo commented at 2:14 pm on November 26, 2014: none
@sipa I needed to build gmp with my MinGW-w64 compiler and used:
Then I tried to build libsecp256k1 via:
Now when trying to link to libsecp256k1 I get a bunch of these:
Any idea for me?
Seems it was my link order, changed from
-lgmp -lsecp256k1
to-lsecp256k1 -lgmp
!New question, does gmp NEED OpenSSL to work for what you are doing with it in secp256k1? Seems I was missing crypto.h during gmp build!
-
laanwj commented at 2:27 pm on November 26, 2014: member
gmp does certainly not require OpenSSL
Doesn’t ‘make’ in depends work for you? You shouldn’t have to manually build dependencies anymore.
-
Diapolo commented at 2:36 pm on November 26, 2014: noneMy MSYS + MinGW-w64 toolchain (that I manually setup on my Win machine) did give me headaches with what we now use as build system and because of that I’m still using Qt Creator and the .pro file, which I now upgraded to make use of libsecp256k1 ;).
-
laanwj commented at 3:15 pm on November 26, 2014: memberWhere does it fail? At least in theory the depends system should work with any toolchain. Of course there may still be a few warts in it in practice, but it seems more constructive to solve those, also for other people that want to build with MinGW, than maintaining your own build system on the side. But of course it’s up to you.
-
DrahtBot locked this on Sep 8, 2021
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-12-22 21:12 UTC
More mirrored repositories can be found on mirror.b10c.me