Commit graph

6283 commits

Author SHA1 Message Date
Gavin Andresen
7f3b4e9569
Relax IsStandard rules for pay-to-script-hash transactions
Relax the AreInputsStandard() tests for P2SH transactions --
allow any Script in a P2SH transaction to be relayed/mined,
as long as it has 15 or fewer signature operations.

Rationale: https://gist.github.com/gavinandresen/88be40c141bc67acb247

I don't have an easy way to test this, but the code changes are
straightforward and I've updated the AreInputsStandard unit tests.
2014-06-23 15:09:52 -04:00
Wladimir J. van der Laan
36db6633c3
Merge pull request #4395
f3967bc build: fix build weirdness after 54372482. (Cory Fields)
2014-06-23 20:26:12 +02:00
Cory Fields
f3967bcc50 build: fix build weirdness after 54372482.
bitcoin-config.h moved, but the old file is likely to still exist when
reconfiguring or switching branches. This would've caused files to not rebuild
correctly, and other strange problems.

Make the path explicit so that the old one cannot be found.

Core libs use config/bitcoin-config.h.

Libs (like crypto) which don't want access to bitcoin's headers continue
to use -Iconfig and #include bitcoin-config.h.
2014-06-23 14:04:38 -04:00
Gavin Andresen
6d875669aa Merge pull request #4394 from laanwj/2014_06_rpc_tests_connectnode
qa/rpc_tests: Wait for handshake to complete in connect_nodes
2014-06-23 11:54:27 -04:00
Wladimir J. van der Laan
3b1295e988
qa/rpc_tests: Wait for handshake to complete in connect_nodes
This avoids a race condition in which the connection was
made but the version handshake is not completed yet. In that
case transactions won't be broadcasted to a peer yet, and
the nodes will wait forever for their mempools to sync.
2014-06-23 17:43:55 +02:00
Wladimir J. van der Laan
0869df195c
Merge pull request #3960
3f9a019 added list/get received by address/ account tests (Alon Muroch)
2014-06-23 17:37:40 +02:00
Wladimir J. van der Laan
be873f6454
Issue warning if collecting RandSeed data failed 2014-06-23 16:29:51 +02:00
Philip Kaufmann
6a5c124b84 [Qt] don't allow translation of our example btc address 2014-06-23 15:11:28 +02:00
Wladimir J. van der Laan
a652787737
Merge pull request #4314
b3c912d [Qt] Change Coin control labels and tooltips because of non-rounding fees (Cozz Lovan)
2014-06-23 12:07:50 +02:00
Wladimir J. van der Laan
17db9767c4
doc: Remove unused section from release-process.md
It is outdated information. If we ever resurrect gitian-downloader it
can be brought back from history and updated.
2014-06-23 12:04:33 +02:00
daniel
fcb0a1bb9c change "char pch[200000]" to "new char[200000]" 2014-06-23 11:59:58 +02:00
Wladimir J. van der Laan
5459116d61
Merge pull request #4293
fa126ef Avoid undefined behavior using CFlatData in CScript serialization (Wladimir J. van der Laan)
2014-06-23 10:44:57 +02:00
Wladimir J. van der Laan
fa126effc2
Avoid undefined behavior using CFlatData in CScript serialization
`&vch[vch.size()]` and even `&vch[0]` on vectors can cause assertion
errors with VC in debug mode. This is the problem mentioned in #4239.
The deeper problem with this is that we rely on undefined behavior.

- Add `begin_ptr` and `end_ptr` functions that get the beginning and end
  pointer of vector in a reliable way that copes with empty vectors and
  doesn't reference outside the vector
(see https://stackoverflow.com/questions/1339470/how-to-get-the-address-of-the-stdvector-buffer-start-most-elegantly/1339767#1339767).
- Add a convenience constructor to CFlatData that wraps a vector.

I added `begin_ptr` and `end_ptr` as separate functions as I imagine
they will be useful in more places.
2014-06-23 10:38:15 +02:00
Wladimir J. van der Laan
52d4abfdef
Merge pull request #4388
3dc1464 add missing vhListenSocket.clear(); to CNetCleanup() (Philip Kaufmann)
2831a03 remove unused CNode::Cleanup() (Philip Kaufmann)
2014-06-23 10:21:38 +02:00
Wladimir J. van der Laan
bfb55dd586
Merge pull request #4385
040c2d3 Fix formatting (Drak)
2014-06-23 10:21:20 +02:00
Wladimir J. van der Laan
82f2bba1ad
Merge pull request #4391
b612bde remove unneded class CNodeCombinedStats; from rpcconsole.cpp (Philip Kaufmann)
2014-06-23 10:01:07 +02:00
Philip Kaufmann
b612bde521 remove unneded class CNodeCombinedStats; from rpcconsole.cpp
- also 2 small style fixes
2014-06-23 08:06:52 +02:00
Pieter Wuille
d4e4e05435
Merge pull request #4309
d38da59 Code simplifications after CTransaction::GetHash() caching (Pieter Wuille)
4949004 Add CMutableTransaction and make CTransaction immutable. (Pieter Wuille)
2014-06-22 20:45:30 +02:00
Pieter Wuille
6b40eabbcf
Merge pull request #4381
806fd19 Allocate receive buffers in on the fly (Pieter Wuille)
2014-06-22 17:43:40 +02:00
Philip Kaufmann
3dc1464f0a add missing vhListenSocket.clear(); to CNetCleanup() 2014-06-22 14:52:38 +02:00
Philip Kaufmann
2831a03b79 remove unused CNode::Cleanup() 2014-06-22 14:51:38 +02:00
Philip Kaufmann
0655fac0b1 miner: indentation fixes, remove for (;;)
- change a for (;;) into while (true), as we nowhere else use the first
- init nNonceFound to 0
- fix indentation in BitcoinMiner try/catch block
2014-06-22 00:33:42 +02:00
Pieter Wuille
d38da59bf6 Code simplifications after CTransaction::GetHash() caching 2014-06-22 00:06:17 +02:00
Pieter Wuille
4949004d68 Add CMutableTransaction and make CTransaction immutable.
In addition, introduce a cached hash inside CTransaction, to prevent
recalculating it over and over again.
2014-06-21 22:59:03 +02:00
Drak
040c2d3f57 Fix formatting 2014-06-21 21:57:50 +01:00
Pieter Wuille
8f59251b83
Merge pull request #4100
a0495bb Add <Hasher>::OUTPUT_SIZE (Pieter Wuille)
4791b99 crypto: create a separate lib for crypto functions (Cory Fields)
f2647cc crypto: explicitly check for byte read/write functions (Cory Fields)
5437248 build: move bitcoin-config.h to its own directory (Cory Fields)
3820e01 Extend and move all crypto tests to crypto_tests.cpp (Pieter Wuille)
7ecd973 Move {Read,Write}{LE,BE}{32,64} to common.h and use builtins if possible (Pieter Wuille)
a5bc9c0 Add built-in RIPEMD-160 implementation (Pieter Wuille)
13b5dfe Move crypto implementations to src/crypto/ (Pieter Wuille)
1cc344c Add built-in SHA-1 implementation. (Pieter Wuille)
85aab2a Switch miner.cpp to use sha2 instead of OpenSSL. (Pieter Wuille)
cf0c47b Remove getwork() RPC call (Pieter Wuille)
7b4737c Switch script.cpp and hash.cpp to use sha2.cpp instead of OpenSSL. (Pieter Wuille)
977cdad Add a built-in SHA256/SHA512 implementation. (Pieter Wuille)
2014-06-21 22:52:46 +02:00
Jeff Garzik
b4ccf0a5c7 Merge pull request #4379 from Diapolo/cleanup_compat
small cleanup in src/compat .h and .cpp
2014-06-21 16:29:12 -04:00
Pieter Wuille
a0495bb68c Add <Hasher>::OUTPUT_SIZE 2014-06-21 19:47:43 +02:00
Cory Fields
4791b99e2d crypto: create a separate lib for crypto functions
This lib has no dependencies on other bitcoin functionality. Attempting to
use bitcoin headers will result in a failure to compile.
2014-06-21 19:47:43 +02:00
Cory Fields
f2647cc0e9 crypto: explicitly check for byte read/write functions
Don't depend on hard-coded platform lists
2014-06-21 19:47:43 +02:00
Cory Fields
54372482a8 build: move bitcoin-config.h to its own directory
This allows us to include its path without making other header includes valid.
2014-06-21 19:47:43 +02:00
Pieter Wuille
3820e01eb9 Extend and move all crypto tests to crypto_tests.cpp 2014-06-21 19:47:43 +02:00
Pieter Wuille
7ecd9739d9 Move {Read,Write}{LE,BE}{32,64} to common.h and use builtins if possible 2014-06-21 19:47:42 +02:00
Pieter Wuille
a5bc9c0917 Add built-in RIPEMD-160 implementation 2014-06-21 19:47:42 +02:00
Pieter Wuille
13b5dfef64 Move crypto implementations to src/crypto/ 2014-06-21 19:47:42 +02:00
Pieter Wuille
1cc344ce42 Add built-in SHA-1 implementation. 2014-06-21 19:47:39 +02:00
Pieter Wuille
85aab2a088 Switch miner.cpp to use sha2 instead of OpenSSL. 2014-06-21 19:47:39 +02:00
Pieter Wuille
cf0c47b269 Remove getwork() RPC call 2014-06-21 19:47:39 +02:00
Pieter Wuille
7b4737c878 Switch script.cpp and hash.cpp to use sha2.cpp instead of OpenSSL. 2014-06-21 19:47:39 +02:00
Pieter Wuille
977cdadea8 Add a built-in SHA256/SHA512 implementation.
This also moves the HMAC-SHA512 implementation to sha2.cpp.
2014-06-21 19:47:39 +02:00
Wladimir J. van der Laan
540ce6aa10
Merge pull request #4380
38405ac Add comment regarding experimental-use service bits (Peter Todd)
99ddc6c Add nLocalServices info to RPC getinfo (Peter Todd)
2014-06-21 19:26:18 +02:00
Peter Todd
38405ac141
Add comment regarding experimental-use service bits
As per mailing list discussion.
2014-06-21 11:43:23 -04:00
Peter Todd
99ddc6cb70 Add nLocalServices info to RPC getinfo
Also show full 64 bits of services. Previously service bits >32 that
were advertised just didn't show up at all.
2014-06-21 11:43:19 -04:00
Pieter Wuille
806fd19ecb Allocate receive buffers in on the fly 2014-06-21 17:00:38 +02:00
Philip Kaufmann
fc0c07eb64 small cleanup in src/compat .h and .cpp
- add license header
- fix include guards
- fix indentation
2014-06-21 14:39:17 +02:00
Wladimir J. van der Laan
aaacfa0898
Merge pull request #4371
ea3acaf AvailableCoins: acquire cs_main mutex (Pavel Vasin)
2014-06-20 16:57:08 +02:00
Pavel Vasin
ea3acaf383 AvailableCoins: acquire cs_main mutex
It's required when called from WalletModel
2014-06-20 16:32:57 +04:00
Wladimir J. van der Laan
b8b98d5642
Merge pull request #4310
7a9e0b6 Move checkpoint based heuristic checks to AcceptBlockHeader (Pieter Wuille)
2014-06-19 14:38:45 +02:00
Wladimir J. van der Laan
7eb49c79f0
Merge pull request #4358
6afa493 rpc: Add acceptors only when listening succeeded (Wladimir J. van der Laan)
33e5b42 rpc: Ignore and log errors during cancel (Wladimir J. van der Laan)
2014-06-19 09:34:42 +02:00
Wladimir J. van der Laan
6afa49329d rpc: Add acceptors only when listening succeeded 2014-06-19 08:19:52 +02:00