aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-p2p/bitcoin-qt/files/0.8-openssl-101k.patch')
-rw-r--r--net-p2p/bitcoin-qt/files/0.8-openssl-101k.patch31
1 files changed, 0 insertions, 31 deletions
diff --git a/net-p2p/bitcoin-qt/files/0.8-openssl-101k.patch b/net-p2p/bitcoin-qt/files/0.8-openssl-101k.patch
deleted file mode 100644
index 5eaaba9..0000000
--- a/net-p2p/bitcoin-qt/files/0.8-openssl-101k.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/src/key.cpp b/src/key.cpp
-index 75114c6..7fcb17d 100644
---- a/src/key.cpp
-+++ b/src/key.cpp
-@@ -376,11 +376,23 @@ bool CKey::SetCompactSignature(uint256 hash, const std::vector<unsigned char>& v
-
- bool CKey::Verify(uint256 hash, const std::vector<unsigned char>& vchSig)
- {
-- // -1 = error, 0 = bad sig, 1 = good
-- if (ECDSA_verify(0, (unsigned char*)&hash, sizeof(hash), &vchSig[0], vchSig.size(), pkey) != 1)
-+ if (vchSig.empty())
- return false;
-
-- return true;
-+ // New versions of OpenSSL will reject non-canonical DER signatures. de/re-serialize first.
-+ unsigned char *norm_der = NULL;
-+ ECDSA_SIG *norm_sig = ECDSA_SIG_new();
-+ const unsigned char* sigptr = &vchSig[0];
-+ d2i_ECDSA_SIG(&norm_sig, &sigptr, vchSig.size());
-+ int derlen = i2d_ECDSA_SIG(norm_sig, &norm_der);
-+ ECDSA_SIG_free(norm_sig);
-+ if (derlen <= 0)
-+ return false;
-+
-+ // -1 = error, 0 = bad sig, 1 = good
-+ bool ret = ECDSA_verify(0, (unsigned char*)&hash, sizeof(hash), norm_der, derlen, pkey) == 1;
-+ OPENSSL_free(norm_der);
-+ return ret;
- }
-
- bool CKey::VerifyCompact(uint256 hash, const std::vector<unsigned char>& vchSig)