aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Only test supermajority for block rejects against v3 blocksPatrick Lodder2015-10-181-18/+4
| | | | | | | | | Since v2 and v1 blocks will be rejected at exactly the same time, only check for supermajority once to save 2000 iterations over blockheaders per block. Also moves the version check to AcceptBlockHeader() rather than AcceptBlock() to be able to reject early on.
* Use the same time-based constraints as in 1.10Patrick Lodder2015-10-181-8/+8
| | | | | | | Backport of #1225 to 1.8.x, sets: - majority window to 2000 blocks on mainnet, 1000 on testnet - enforcement triggers to 1500 on mainnet, 501 on testnet - reject triggers to 1900 on mainnet, 750 on testnet
* Reject version 1 blocks with version 3 supermajorityPatrick Lodder2015-10-181-4/+8
| | | | | | | Because CBlockIndex::IsSuperMajority was disabled since 1.5, we cannot enforce version 1 block rejection on the live chains with a v2 supermajority. Instead, we piggyback the version 3 supermajority switch to also enforce the version 2 softfork and all is good.
* enable CBlockIndex::IsSuperMajorityPatrick Lodder2015-10-181-2/+0
| | | | | | This has been disabled since 1.5 for unclear reasons, but we need it for the bip66 softfork in 1.10 that is backported here. This commit re-enables the logic.
* Implement [CBlock|CBlockIndex]::GetBaseVersion()Patrick Lodder2015-10-183-6/+19
| | | | | - nVersion & 0xff to easily compare versions without aux data - change implementations checking nVersion throughout main.ccp
* Correct BIP 66 patchesRoss Nicoll2015-10-182-20/+22
|
* Implement BIP 66 validation rules and switchover logicPieter Wuille2015-10-183-13/+116
|
* Backport of some of BIP66's testsPieter Wuille2015-10-183-4/+110
|
* Raise version of created blocks, and enforce DERSIG in mempoolPieter Wuille2015-10-182-1/+2
|
* Merge pull request #1280 from patricklodder/1.8.3-backport-protocol-changeRoss Nicoll2015-10-182-1/+2
|\ | | | | Backport protocol 70004 to 1.8.3
| * Backport protocol 70004 to 1.8.3Patrick Lodder2015-09-092-1/+2
| |
* | Make low-s verification mandatory for standard script verificationPatrick Lodder2015-10-171-1/+2
| | | | | | | | | | | | | | | | | | 1.8.3 backport This change makes a node only accept transactions with low-s signature encoding for relay and mining, but allows transactions with high-s signature encoding in mined blocks (no blocks will be rejected)
* | apply bitcoin patch for miniupnpc 1.9acerix2015-10-121-1/+5
|/
* Update the version numbers to 1.8.3langerhans2015-06-291-1/+1
|
* Add a fresh set of fixed and DNS seeds.langerhans2015-06-291-78/+59
|
* Scale up addrmanPieter Wuille2015-06-271-30/+30
| | | | | | | | | | | | | This change was suggested as Countermeasure 6 in Eclipse Attacks on Bitcoin’s Peer-to-Peer Network, Ethan Heilman, Alison Kendler, Aviv Zohar, Sharon Goldberg. ePrint Archive Report 2015/263. March 2015. Rebased-From: 1d21ba2f5ecbf03086d0b65c4c4c80a39a94c2ee Github-Pull: #5941 Conflicts: src/addrman.h
* Always use a 50% chance to choose between tried and new entriesPieter Wuille2015-06-273-13/+10
| | | | | | | | | | This change was suggested as Countermeasure 2 in Eclipse Attacks on Bitcoin’s Peer-to-Peer Network, Ethan Heilman, Alison Kendler, Aviv Zohar, Sharon Goldberg. ePrint Archive Report 2015/263. March 2015. Rebased-From: c6a63ceeb4956933588995bcf01dc3095aaeb1fc Github-Pull: #5941
* Do not bias outgoing connections towards fresh addressesPieter Wuille2015-06-271-2/+0
| | | | | | | | | | This change was suggested as Countermeasure 2 in Eclipse Attacks on Bitcoin’s Peer-to-Peer Network, Ethan Heilman, Alison Kendler, Aviv Zohar, Sharon Goldberg. ePrint Archive Report 2015/263. March 2015. Rebased-From: 68ba3f67bd500a64fb8932c6b41924ddc31d76f Github-Pull: #5941
* Simplify hashing codePieter Wuille2015-06-271-21/+5
| | | | | | | | Conflicts: src/addrman.cpp Rebased-From: a8ff7c62edc63c7c94bc91c30b80995539ed7477 Github-Pull: #5941
* Make addrman's bucket placement deterministic.Pieter Wuille2015-06-272-244/+258
| | | | | | | | | | | | | | | | | | | | | | Give each address a single fixed location in the new and tried tables, which become simple fixed-size arrays instead of sets and vectors. This prevents attackers from having an advantages by inserting an address multiple times. This change was suggested as Countermeasure 1 in Eclipse Attacks on Bitcoin’s Peer-to-Peer Network, Ethan Heilman, Alison Kendler, Aviv Zohar, Sharon Goldberg. ePrint Archive Report 2015/263. March 2015. It is also more efficient. Rebased-From: e6b343d880f50d52390c5af8623afa15fcbc65a2 Github-Pull: #5941 Conflicts: src/addrman.cpp src/addrman.h
* Switch addrman key from vector to uint256Pieter Wuille2015-06-272-13/+24
| | | | | | | | Conflicts: src/addrman.cpp Rebased-From: b23add5521e4207085d41a0266617e94435fc22e Github-Pull: #5941
* Reduce fingerprinting through timestamps in 'addr' messages.Pieter Wuille2015-06-272-6/+17
| | | | | | | Suggested by Jonas Nick. Rebased-From: 9c2737901b5203f267d21d728019d64b46f1d9f3 Github-Pull: #5860
* Limit message sizes before transferPieter Wuille2015-06-272-0/+7
| | | | | | | | This introduces a fixed limit for the size of p2p messages, and enforces it before download. Rebased-From: ba04c4a7801e7d68a5e84035b919e5c3626eb7a7 Github-Pull: #5843
* prevent SOCKET leak in BindListenPort()Philip Kaufmann2015-06-271-0/+2
| | | | | | - the call to CloseSocket() is placed after the WSAGetLastError(), because a CloseSocket() can trigger an error also, which we don't want for the logging in this two cases
* Convert closesocket 'compat wrapper' to function in netbaseWladimir J. van der Laan2015-06-275-47/+45
| | | | | | | | | | | Simpler alternative to #4348. The current setup with closesocket() is strange. It poses as a compatibility wrapper but adds functionality. Rename it and make it a documented utility function in netbase. Code movement only, zero effect on the functionality.
* Break up CAddrMan's IMPLEMENT_SERIALIZEPieter Wuille2015-06-272-129/+160
|
* Introduce whitelisted peers.Pieter Wuille2015-06-275-28/+100
| | | | | | | | | | | | | | | | | | | | | | | This adds a -whitelist option to specify subnet ranges from which peers that connect are whitelisted. In addition, there is a -whitebind option which works like -bind, except peers connecting to it are also whitelisted (allowing a separate listen port for trusted connections). Being whitelisted has two effects (for now): * They are immune to DoS disconnection/banning. * Transactions they broadcast (which are valid) are always relayed, even if they were already in the mempool. This means that a node can function as a gateway for a local network, and that rebroadcasts from the local network will work as expected. Whitelisting replaces the magic exemption localhost had for DoS disconnection (local addresses are still never banned, though), which implied hidden service connects (from a localhost Tor node) were incorrectly immune to DoS disconnection as well. This old behaviour is removed for that reason, but can be restored using -whitelist=127.0.0.1 or -whitelist=::1 can be specified. -whitebind is safer to use in case non-trusted localhost connections are expected (like hidden services).
* error out, when we detect -socks argumentPhilip Kaufmann2015-06-271-0/+6
|
* remove SOCKS4 support from core and GUIPhilip Kaufmann2015-06-279-172/+47
| | | | - now we support SOCKS5 only
* Use pong receive time rather than processing timePieter Wuille2015-06-273-3/+9
|
* add missing BOOST_FOREACH indentation in ThreadSocketHandler()Philip Kaufmann2015-06-271-40/+41
|
* small cleanup of #ifdefs in BindListenPort()Philip Kaufmann2015-06-271-8/+15
| | | | | | - SO_NOSIGPIPE isn't available on WIN32 so merge the 2 non-WIN32 blocks - use predefined names from header for IPV6_PROTECTION_LEVEL and PROTECTION_LEVEL_UNRESTRICTED
* add missing vhListenSocket.clear(); to CNetCleanup()Philip Kaufmann2015-06-271-0/+1
|
* remove unused CNode::Cleanup()Philip Kaufmann2015-06-272-8/+0
|
* Ping automatically every 2 minutes (unconditionally)Pieter Wuille2015-06-273-17/+27
| | | | | | ... instead of after 30 minutes of no sending, for latency measurement and keep-alive. Also, disconnect if no reply arrives within 20 minutes, instead of 90 of inactivity (for peers supporting the 'pong' message).
* rename fNoListen to fListen and move to netPhilip Kaufmann2015-06-276-7/+7
| | | | | - better code readability and it belongs to net - this is a prerequisite for a pull to add -listen to the GUI
* Update release type and copyright yearlangerhans2015-01-171-2/+2
|
* Improve robustness of DER recoding codeWladimir J. van der Laan2015-01-121-1/+12
| | | | | | | | | | | | | 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. Github-Pull: #5640 Rebased-From: c6b7b29f232c651f898eeffb93f36c8f537c56d2
* fail immediately on an empty signatureWladimir J. van der Laan2015-01-111-0/+3
| | | | | Github-Pull: #5634 Rebased-From: 8dccba6a45db0466370726ed462b9da2eae43bce
* consensus: guard against openssl's new strict DER checksCory Fields2015-01-111-3/+13
| | | | | | | | | 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. Github-Pull: #5634 Rebased-From: 488ed32f2ada1d1dd108fc245d025c4d5f252783
* Adjust version for 1.8.2langerhans2014-12-241-2/+2
|
* Bump to release versionlangerhans2014-12-201-2/+2
|
* Introduce -maxoutconnections= to set the maximum number of outbound connectionslangerhans2014-12-203-5/+8
|
* Add %i to -blocknotify and replace it by the height of the block that the ↵langerhans2014-12-201-0/+2
| | | | notification is about
* Remove unreachable code.Daniel Kraft2014-11-211-18/+6
| | | | | | The removed case (pcHead == script.end()) can never be reached, since we explicitly error out above if that is the case. It is legacy from Namecoin's merge-mining, which does not forbid this case earlier.
* optionsmodel.cpp; Use HTTPS with dogechain.infoAbderraouf Adjal2014-11-171-1/+1
|
* Update bitcoin_ko_KR.tsnameEO2014-10-251-241/+241
| | | | | | | | | | 1. Fix some mistakes(typo, omission, spacing). 2. Re-adjust sentences to proper form. 3. Replace translation of certain words to better one. 4, Update legacy translations of upstream. ----------------------------------------------------------------------------- I commit this first, and will commit another updates after 'translation resources' updates. thanks.
* Merge pull request #726 from Andymeows/1.8.1-devv1.8.1-beta-1langerhans2014-10-051-2/+10
|\ | | | | Add a warning message about printing paper wallets while online
| * When printing paper wallets, add a warning message about security if ↵Andymeows2014-10-041-2/+10
| | | | | | | | | | | | | | connected to any peers. Regenerate addresses at the end of the loop so that the shown wallet is the first to print. Elaborating on the message after paper wallets are printed about ensuring print quality.
* | Switched to older QT API calls to that paper wallet printing is compatible ↵Ross Nicoll2014-10-041-8/+8
| | | | | | | | with Qt 4.6.4.