Commit graph

7955 commits

Author SHA1 Message Date
Wladimir J. van der Laan
868da0f40a
Merge pull request #5619
13cdce4 Catch UTXO set read errors and shutdown (Pieter Wuille)
2015-01-12 11:26:41 +01:00
Wladimir J. van der Laan
de8b9ab757
Merge pull request #5608
9161303 Introduce 10 minute block download timeout (Pieter Wuille)
2015-01-12 11:24:47 +01:00
Wladimir J. van der Laan
8d0fd46460
Merge pull request #5640
c6b7b29 Improve robustness of DER recoding code (Wladimir J. van der Laan)
2015-01-12 09:09:56 +01:00
Wladimir J. van der Laan
c6b7b29f23 Improve robustness of DER recoding code
Add some defensive programming on top of #5634.

This copies the respective OpenSSL code in ECDSA_verify in
OpenSSL pre-1.0.1k (e.g. https://github.com/openssl/openssl/blob/OpenSSL_1_0_1j/crypto/ecdsa/ecs_vrf.c#L89)
more closely.

As reported by @sergiodemianlerner.
2015-01-12 08:59:03 +01:00
Philip Kaufmann
851296a72f [Qt] add option to allow self signed root certs (for testing)
- it is helpful to be able to test and verify payment request processing
  by allowing self signed root certificates (e.g. generated by Gavins
  "certificate authority in a box")
- This option is just shown in the UI options, if -help-debug is enabled.
2015-01-11 19:16:57 +01:00
BtcDrak
1078fb0885
Make nicer pull request merge messages 2015-01-11 09:12:40 +00:00
Philip Kaufmann
0fd9e2bf43 [Qt] don't allow amount changes when AmountSpinBox is read-only
- before it was possible to use the steps to change e.g. amouns of
  authenticated or unauthenticated payment requests (AmountSpinBox is
  already set to read-only here) - this is now fixed
- also move the reimplemented stepEnabled() function to the
  protected section of our class, where it belongs (see Qt doc)
2015-01-10 15:02:12 +01:00
Gregory Maxwell
4f73a8f64d
Merge pull request #5634
8dccba6 fail immediately on an empty signature (Cory Fields)
dad7764 depends: bump openssl to 1.0.1k (Cory Fields)
488ed32 consensus: guard against openssl's new strict DER checks (Cory Fields)
2015-01-09 20:21:19 -08:00
Cory Fields
8dccba6a45 fail immediately on an empty signature 2015-01-09 22:06:55 -05:00
Cory Fields
dad7764a9d depends: bump openssl to 1.0.1k 2015-01-09 21:31:38 -05:00
Cory Fields
488ed32f2a consensus: guard against openssl's new strict DER checks
New versions of OpenSSL will reject non-canonical DER signatures. However,
it'll happily decode them. Decode then re-encode before verification in order
to ensure that it is properly consumed.
2015-01-09 21:31:31 -05:00
Jonas Schnelli
98c222b5aa [Qt] optimize helpmessage dialog
- enlarge standard size
- remove fixed 10px font
- remove left mood image
- ensure that table has no ugly line-breaks on OSX, Linux
2015-01-09 21:11:47 +01:00
Peter Todd
2fa9a8ec86
Make empty byte arrays pass CheckSignatureEncoding()
Makes it possible to compactly provide a delibrately invalid signature
for use with CHECK(MULTI)SIG. For instance with BIP19 if m != n invalid
signatures need to be provided in the scriptSig; prior to this change
those invalid signatures would need to be large DER-encoded signatures.

Note that we may want to further expand on this change in the future by
saying that only OP_0 is a "valid" invalid signature; BIP19 even with
this change is inherently malleable as the invalid signatures can be any
validly encoded DER signature.
2015-01-09 06:03:22 -05:00
Pieter Wuille
13cdce4336 Catch UTXO set read errors and shutdown 2015-01-08 15:51:15 +01:00
Wladimir J. van der Laan
d0c97bbe70
Merge pull request #5617
c6a5ad4 Fix tests after #5413 (Wladimir J. van der Laan)
2015-01-08 13:54:17 +01:00
Wladimir J. van der Laan
c6a5ad4819
Fix tests after #5413
Pull #5413 was not rebased after deterministic signing was merged
(#5227), so the testcases had to be regenerated using UPDATE_JSON_TESTS.
2015-01-08 12:53:05 +01:00
Wladimir J. van der Laan
c8183bf8ea
Merge pull request #5589
23f3435 Rename MAX_TX_SIGOPS to MAX_STANDARD_TX_SIGOPS to match similar policy constant MAX_STANDARD_TX_SIZE (Luke Dashjr)
2015-01-08 12:38:10 +01:00
Wladimir J. van der Laan
c5e0aef5c4
Merge pull request #5604
d58c5d6 tests: run sanity checks in tests too (Cory Fields)
2015-01-08 12:07:06 +01:00
Wladimir J. van der Laan
48e1765e27
Merge pull request #5143
da918ac Make SCRIPT_VERIFY_CLEANSTACK a standardness requirement (Pieter Wuille)
b6e03cc Add SCRIPT_VERIFY_CLEANSTACK (BIP62 rule 6) (Pieter Wuille)
ae4151b No semantic change: reuse stack variable in P2SH evaluation (Pieter Wuille)
2015-01-08 12:01:22 +01:00
Wladimir J. van der Laan
e3f5727590
Merge pull request #5612
84d9199 [QA] fix zapwallettxes test (Jonas Schnelli)
2015-01-08 11:51:51 +01:00
Wladimir J. van der Laan
2eda47bc37
Merge pull request #5613
1eb1e65 Fix smartfees test for change to relay policy (Suhas Daftuar)
2015-01-08 11:42:16 +01:00
Wladimir J. van der Laan
83be8fda6d
Merge pull request #5559
e179eb3 Make the command-line-args dialog better (Thomas Zander)
2015-01-08 10:04:15 +01:00
Wladimir J. van der Laan
204d41a821
Merge pull request #5542
2ecd294 Bugfix: configure: Correctly detect "nothing to build" condition (Luke Dashjr)
b7a4ecc Bugfix: Only check for boost when building code that requires it (Luke Dashjr)
a19eeac Bugfix: configure: Check for openssl/ec.h (Luke Dashjr)
fe925e2 Use EXTRA_LIBRARIES instead of noinst_LIBRARIES so we can avoid building unused code (Cory Fields)
2015-01-08 09:32:36 +01:00
Luke Dashjr
2ecd2941ed Bugfix: configure: Correctly detect "nothing to build" condition 2015-01-07 20:19:56 +00:00
Luke Dashjr
b7a4ecc153 Bugfix: Only check for boost when building code that requires it 2015-01-07 20:19:05 +00:00
Pieter Wuille
916130348c Introduce 10 minute block download timeout
This will disconnect peers that do not transfer a block in 10 minutes, plus
5 minutes for every previously queued block with validated headers
(accomodating downstream bandwidth down to a few kilobytes per second - below
that the node would have trouble staying synchronized anyway).
2015-01-07 17:09:24 +01:00
Luke Dashjr
a19eeaced8 Bugfix: configure: Check for openssl/ec.h 2015-01-07 15:59:54 +00:00
Jonas Schnelli
84d919974b [QA] fix zapwallettxes test
- remove shell test script and add a python equivalent
2015-01-07 16:41:12 +01:00
Wladimir J. van der Laan
8e4578af0f
Merge pull request #5521
0ea28ba Reject non-final txs even in testnet/regtest (Peter Todd)
2015-01-07 16:27:33 +01:00
Suhas Daftuar
1eb1e65f09 Fix smartfees test for change to relay policy 2015-01-07 10:11:23 -05:00
Wladimir J. van der Laan
37b185c4af
Merge pull request #5611
f0b8afc tests: fix spurious windows test failures after 012598880c (Cory Fields)
2015-01-07 15:02:52 +01:00
Wladimir J. van der Laan
7625f7ff94
Merge pull request #5597
e413457 Catch LevelDB errors during flush (Pieter Wuille)
02bced1 Bugfix: only track UTXO modification after lookup (Pieter Wuille)
2015-01-07 13:03:41 +01:00
Wladimir J. van der Laan
d79adc1ab1
Merge pull request #5535
1c52aad Require sufficent priority for relay of free transactions (Pieter Wuille)
2015-01-07 13:01:56 +01:00
Cory Fields
f0b8afc88b tests: fix spurious windows test failures after 012598880c
on rare occasions, rand() was returning duped values, causing duplicate
transactions.

BuildMerkleTree happily used these, but CPartialMerkleTree caught them and
returned a null merkle root.

Rather than taking changes with rand(), use the loop counter to guarantee
unique values.

At sipa's request, also remove the remaining uses of rand().
2015-01-06 20:18:12 -05:00
Cory Fields
fe925e221f Use EXTRA_LIBRARIES instead of noinst_LIBRARIES so we can avoid building unused code 2015-01-06 20:00:25 +00:00
Wladimir J. van der Laan
729ba31749
Merge pull request #5513
856e862 namespace: drop most boost namespaces and a few header cleanups (Cory Fields)
9b1ab86 namespace: drop boost::assign altogether here (Cory Fields)
a324199 namespace: remove boost namespace pollution (Cory Fields)
2015-01-06 20:32:45 +01:00
Wladimir J. van der Laan
3b95808428
Merge pull request #5520
bdb6a71 IsNull doesn't change CBlockLocator, add const hint (Pavel Janík)
1b37333 Remove no longer needed declaration of CBlockLocator (Pavel Janík)
2015-01-06 20:01:00 +01:00
Wladimir J. van der Laan
de70dd4904
Merge pull request #5598
eb0d34b Remove unused chainparam networkID (jtimon)
2015-01-06 18:12:58 +01:00
Wladimir J. van der Laan
a89b8371d6
Merge pull request #5564
de236f5 clarify obscure uses of EvalScript() (Pavel Vasin)
2015-01-06 11:51:18 +01:00
Wladimir J. van der Laan
7b879d3493
Merge pull request #5532
be22b3d Update seed IPs, based on bitcoin.sipa.be crawler data (Pieter Wuille)
2015-01-06 11:00:02 +01:00
Wladimir J. van der Laan
b93b49b522
Merge pull request #5603
7268f7b Move arith_uint256 out of consensus and util (Pieter Wuille)
2015-01-06 08:19:01 +01:00
Cory Fields
d58c5d6f21 tests: run sanity checks in tests too
If these are going to fail in bitcoind, they should fail in the tests as well.
2015-01-05 22:34:47 -05:00
Pieter Wuille
7268f7b120 Move arith_uint256 out of consensus and util 2015-01-06 00:42:27 +01:00
Pieter Wuille
602ebf5279 Update libsecp256k1 2015-01-06 00:28:47 +01:00
Pieter Wuille
7873633b57 Squashed 'src/secp256k1/' changes from bccaf86..50cc6ab
50cc6ab Merge pull request #178
941e221 Add tests for handling of the nonce function in signing.
10c81ff Merge pull request #177
7688e34 Add magnitude limits to secp256k1_fe_verify to ensure that it's own tests function correctly.
4ee4f7a Merge pull request #176
70ae0d2 Use secp256k1_fe_equal_var in secp256k1_fe_sqrt_var.
7767b4d Merge pull request #175
9ab9335 Add a reference consistency test to ge_tests.
60571c6 Rework group tests
d26e26f Avoid constructing an invalid signature with probability 1:2^256.
b450c34 Merge pull request #163
d57cae9 Merge pull request #154
49ee0db Add _normalizes_to_zero_var variant
eed599d Add _fe_normalizes_to_zero method
d7174ed Weak normalization for secp256k1_fe_equal
0295f0a weak normalization
bbd5ba7 Use rfc6979 as default nonce generation function
b37fbc2 Implement SHA256 / HMAC-SHA256 / RFC6979.
c6e7f4e [API BREAK] Use a nonce-generation function instead of a nonce
cf0c48b Merge pull request #169
603c33b Make signing fail if a too small buffer is passed.
6d16606 Merge pull request #168
7277fd7 Remove GMP field implementation
e99c4c4 Merge pull request #123
13278f6 Add explanation about how inversion can be avoided
ce7eb6f Optimize verification: avoid field inverse
a098f78 Merge pull request #160
38acd01 Merge pull request #165
6a59012 Make git ignore bench_recover when configured with benchmark enabled
1ba4a60 Configure options reorganization
3c0f246 Merge pull request #157
808dd9b Merge pull request #156
8dc75e9 Merge pull request #158
28ade27 build: nuke bashisms
5190079 build: use subdir-objects for automake
8336040 build: disable benchmark by default

git-subtree-dir: src/secp256k1
git-subtree-split: 50cc6ab0625efda6dddf1dc86c1e2671f069b0d8
2015-01-06 00:28:47 +01:00
Pieter Wuille
1a9576de9d Use libsecp256k1's RFC6979 implementation 2015-01-06 00:28:44 +01:00
Thomas Zander
e179eb3d9b Make the command-line-args dialog better
Instead of using a fixed-width font in a label, which virtually
guarentees a horizontal scrollbar, use a proper text-document
that can re-layout based on user input.
2015-01-05 21:17:45 +01:00
Jimmy Kiselak
9a9273ebc6 Merge branch 'master' of https://github.com/bitcoin/bitcoin
Conflicts:
	src/chainparams.cpp
	src/coins.cpp
	src/main.h
	src/test/Checkpoints_tests.cpp
2015-01-05 12:17:58 -05:00
Jimmy Kiselak
d4d3ab8115 create functions in main.cpp which can decode and strip NCC commands from a txout.scriptPubKey, and create functions in rpcwallet.cpp which can create transactions with NCC commands. change tests to pass given NCC parameters, add CLAIM_NAME as a script command in script/script.h, and add a few printouts that occur during transaction spends which should be removed later 2015-01-05 11:43:07 -05:00
Pieter Wuille
be22b3da1d Update seed IPs, based on bitcoin.sipa.be crawler data 2015-01-05 17:23:23 +01:00