Commit Graph

2373 Commits

Author SHA1 Message Date
Gavin Andresen 41e1a0d766 Make transactions larger than 100K non-standard
Extremely large transactions with lots of inputs can cost the network
almost as much to process as they cost the sender in fees.

We would never create transactions larger than 100K big; this change
makes transactions larger than 100K non-standard, so they are not
relayed/mined by default. This is most important for miners that might
create blocks larger than 250K big, who could be vulnerable to a
make-your-blocks-so-expensive-to-verify-they-get-orphaned attack.
2013-02-05 10:08:35 -05:00
Gavin Andresen 0e2e4fdf27 Merge pull request #2253 from luke-jr/bugfix_valstate
Bugfixes for CValidationState
2013-02-04 17:28:20 -08:00
Jeff Garzik 353b7f4a9c Merge pull request #2237 from petertodd/testnet-dnsseed
Add DNS seed support for testnet
2013-02-04 06:51:03 -08:00
Gregory Maxwell 21c6d3aead Signrawtransaction shouldn't require redeemScript for non-p2sh txins.
The redeemScript functionality broke plain offline signing, this
change makes it only look for that parameter when signing a p2sh
input.
2013-02-01 22:59:42 -05:00
Pieter Wuille 386037615a Make sure the genesis block is present after reindex 2013-02-01 23:29:59 +01:00
Philip Kaufmann 5711a20883 translations update (bitcoinstrings.cpp and bitcoin_en.ts) 2013-02-01 18:24:17 +01:00
Philip Kaufmann 8823b4ac3b Bitcoin-Qt: better copyright year handling in AboutDialog
- this change allows us to keep the translation without the need to
  re-translate any string, when we update the copyright year
- copyright symbol is changed to HTML to ensure we get no encoding
  issues and it's removed from the translation string so translators don't
  break it by mistake
2013-02-01 08:52:01 +01:00
Luke Dashjr 8c4e43130b Bugfix: Enable ConnectBestBlock to properly report back validation problems, and ensure orphan processing (when their parents are found) cannot be used to counter-DDoS the node providing the parent
Also fix a minor typo
2013-01-31 03:53:21 +00:00
Gavin Andresen 5b989722be Merge pull request #2245 from gavinandresen/check216116
New checkpoint at block 216116 for the 0.8.0 release
2013-01-30 15:26:04 -08:00
Gavin Andresen 8fd65c944f Merge pull request #2236 from sipa/largefiles
Support large files on 32-bit Linux
2013-01-30 15:25:30 -08:00
Gavin Andresen 85b534b23e Prevent Qt crash at startup with an empty data directory 2013-01-30 15:24:37 -05:00
Gavin Andresen d38c6488d0 Bump version numbers for 0.8 release
Version numbers changed from 0.7.99 to 0.8.0
Set CLIENT_VERSION_IS_RELEASE to remove pre-release warning
Updated copyright in COPYING and doc/READMEs to 2013
Updated doc/release-notes.txt
2013-01-30 14:19:09 -05:00
Gavin Andresen ac7b8ea086 Correctly randomize change output position 2013-01-30 13:56:35 -05:00
Gavin Andresen a53465a649 New checkpoint at block 216116 for the 0.8.0 release 2013-01-30 13:13:22 -05:00
Pieter Wuille 3cce597fc9 Support large files on 32-bit Linux 2013-01-30 16:05:47 +01:00
Peter Todd af8998824c Add DNS seed support for testnet 2013-01-29 23:13:17 -05:00
Pieter Wuille 1eb578796c Drop padding in blk* when finalizing file 2013-01-30 04:55:38 +01:00
Gavin Andresen db3b4ade7b Merge pull request #2224 from sipa/valstate
Improve error handling during validation
2013-01-29 19:37:44 -08:00
Pieter Wuille 421218d304 Deal with LevelDB errors 2013-01-30 04:30:02 +01:00
Gavin Andresen 15ebd4865a Fix two clang3.3 warnings 2013-01-29 22:03:49 -05:00
Pieter Wuille 288fdc092a Native versions for AllocateFileRange() 2013-01-30 04:00:25 +01:00
Pieter Wuille 7851033dd6 Improve dealing with abort conditions 2013-01-30 03:56:45 +01:00
Pieter Wuille 18379c8087 Add disk space checks before flushing CCoins cache 2013-01-30 03:56:45 +01:00
Pieter Wuille 86c82bf9d0 Treat coinbase value violation as DoS 2013-01-30 03:56:44 +01:00
Pieter Wuille ef3988ca36 CValidationState framework 2013-01-30 03:56:44 +01:00
Jeff Garzik 2835080e16 Merge pull request #2231 from sipa/cleanups
Two cleanups before 0.8
2013-01-29 18:08:12 -08:00
Gavin Andresen 74fbb151de New seed nodes, from http://bitcoin.sipa.be/seeds.txt 2013-01-29 17:53:02 -05:00
Pieter Wuille 8fdc94cc8f Rename database directories 2013-01-28 21:08:05 +01:00
Pieter Wuille d0809a1925 Remove support for pre-checksum undo files 2013-01-28 21:07:56 +01:00
Gavin Andresen 79bec38cb4 Merge pull request #1549 from TheBlueMatt/addnoderpc
Addnode optimization and addnode access via RPC
2013-01-28 11:09:03 -08:00
Gavin Andresen f73abdc82d Merge pull request #2223 from gavinandresen/nonfinalnonstandard
Treat non-final transactions as non-standard
2013-01-28 07:56:58 -08:00
Matt Corallo f2bd6c28e6 Try more than the first address for a DNS -addnode. 2013-01-27 03:03:04 -05:00
Matt Corallo 67a11bd6c5 Add a getaddednodeinfo RPC. 2013-01-27 03:03:04 -05:00
Matt Corallo 72a348fd9a Add addnode RPC command. 2013-01-27 03:03:04 -05:00
Matt Corallo f339e9e339 Make ThreadOpenAddedConnections2 exit quicker if(GetNameProxy()). 2013-01-27 03:03:04 -05:00
Matt Corallo 74088e862e Use a copy in place of mapMultiArgs["-addnode"].
Also moves the DNS lookup of -addnode nodes into the repeated
loop, allowing -addnode to follow DNS changes.
2013-01-27 03:03:04 -05:00
Gavin Andresen 6f8730752c Treat non-final transactions as non-standard
At least one service that accepted zero-confirmation transactions
was vulnerable because an attacker could send a transaction
with a lock time far in the future, and then have plenty of time in
which to get a double-spend mined (perhaps from a miner who wasn't
on the network when the first transaction was broadcast).

That is a variation on the "Finney attack". We still don't
recommend anybody accept 0-confirmation transactions as final
payment for anything. This change keeps non-final transactions
from appearing in the wallet, and, assuming most of the network
accepts this change, will prevent them from being relayed until
they are final.
2013-01-26 14:38:40 -05:00
Gavin Andresen 434fa60d75 Merge pull request #2182 from gavinandresen/addressoracle
Remove IsFromMe() check in CTxMemPool::accept()
2013-01-26 11:27:48 -08:00
Pieter Wuille 56869fc07c Check only 288 blocks at startup by default 2013-01-26 18:57:07 +01:00
Pieter Wuille f369d02c51 Various performance tweaks to CCoinsView
* Pass txid's to CCoinsView functions by reference instead of by value
* Add a method to swap CCoins, and use it in some places to avoid a
  allocating copy + destruct.
* Optimize CCoinsViewCache::FetchCoins to do only a single search
  through the backing map.
2013-01-26 18:46:12 +01:00
Philip Kaufmann d001476cbc full translations update
- fetch current translations from Transifex
- update bitcoinstrings.cpp and bitcoin_en.ts
2013-01-26 01:40:42 +01:00
Gavin Andresen 63cc7661a5 Merge pull request #2168 from sipa/txindex
Add optional transaction index to databases
2013-01-25 12:55:52 -08:00
Gavin Andresen d3ab598fd5 Merge pull request #2207 from gavinandresen/leveldb19
Leveldb19
2013-01-24 08:26:20 -08:00
Gavin Andresen 9c9f5c1303 Let limitfreerelay=0 reject ALL free transactions 2013-01-23 20:24:10 -05:00
Philip Kaufmann bb0726a8cf Bitcoin-Qt: cleanup / optimise addressbookpage
- don't show QR Code context menu, when USE_QRCODE=1 was not specified
  when compiling the client
- re-work on_showQRCode_clicked() for better readability and remove an
  unneeded duplicate check
- re-work on_signMessage_clicked() and on_verifyMessage_clicked() to match
  foreach in on_showQRCode_clicked(), which seems more robust / cleaner
- re-order context menu stuff to match real context menu layout
- add comments for all private slots in the class
2013-01-23 22:41:28 +01:00
David Grogan 36311b9a19 Fix corruption bug found and analyzed by dhruba@gmail.com
https://groups.google.com/d/msg/leveldb/Kc9JxuIUu5A/9P0N9RL4ar8J
2013-01-23 14:00:29 -05:00
Sanjay Ghemawat f79ddf24a9 added utility to dump leveldb files 2013-01-23 14:00:29 -05:00
Gavin Andresen 09c69c03f7 Merge pull request #2187 from CodeShark/SyncWithWalletsFix
Bugfix - Moved SyncWithWallets out of ProcessMessage and into CTxMemPool::accept()
2013-01-23 09:29:01 -08:00
Gavin Andresen b1024662ea Port leveldb to MinGW32
Several changes to make the native windows leveldb code compile
with mingw32 and run on 32-bit Windows:
* Remove -std=c++0x dependency (modified code to use NULL instead of
  nullptr)
* Link with -lshlwapi
* Only #define snprintf/etc if compiling with Visual Studio
* Do not link against DbgHelp.lib (wrote a CreateDir instead of using
  DbgHelp's MakeSureDirectoryPathExists
* Define WINVER=0x0500 so MinGW32 can use the 64-bit-filesystem Windows
  api calls
* Define __USE_MINGW_ANSI_STDIO=1 to use MinGW's printf (which supports
  %ll)

I also cleaned up makefile.mingw, assuming that dependencies would be in
the standard /usr/local/{include,lib} by default but allowing overriding
with make DEPSDIR=... etc
2013-01-23 10:42:46 -05:00
Pieter Wuille 8aef119f43 Mingw support for Windows LevelDB port 2013-01-23 10:41:44 -05:00