Gavin Andresen
f50706796b
Merge commit 'd38c6488d067c2e88726e2ca99bc76fd67dab49b'
2013-02-06 16:06:43 -05:00
Gavin Andresen
8f66aedfaa
Merge pull request #2279 from sipa/cvrbip30
...
Bugfix CValidationResult for BIP30 + add DoS
2013-02-06 12:58:52 -08:00
Gavin Andresen
817c44a00d
Merge pull request #2264 from gmaxwell/signrawtransaction_for_regular_missing_txins
...
Signrawtransaction shouldn't require redeemScript for non-p2sh txins.
2013-02-06 10:02:28 -08:00
Pieter Wuille
7cdc37c0a4
Bugfix CValidationResult for BIP30 + add DoS
2013-02-06 16:33:51 +01:00
Rubén Darío Ponticelli
e90b831e83
Do not call ResendWalletTransactions when reindexing, importing or on IBD
...
Calling ResendWalletTransactions when reindexing, importing or on IBD spams
other nodes with our old transactions, because they become unconfirmed.
2013-02-05 18:29:41 -03:00
Gavin Andresen
79892883d7
Merge branch 'reindexgen' of git://github.com/sipa/bitcoin
2013-02-05 10:15:06 -05:00
Gavin Andresen
1d0851eca8
Merge pull request #2273 from gavinandresen/txsize
...
Make transactions larger than 100K non-standard
2013-02-05 07:12:27 -08:00
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
Pieter Wuille
960797a0de
Pre-Vista leveldb::port::InitOnce implementation
2013-01-23 10:41:44 -05:00
Pieter Wuille
21f2ae7563
Native Windows LevelDB port
...
Import native Windows LevelDB port by Hiram Chirino.
Extracted from from https://github.com/chirino/leveldb.git using
git diff dd0d562..aea83b7
2013-01-23 10:41:44 -05:00
Pieter Wuille
00abfccc5d
Remove Snappy support
2013-01-23 10:41:44 -05:00
Pieter Wuille
4786302fb9
Replace leveldb/ with vanilla 1.7.0
2013-01-23 10:41:44 -05:00
Gavin Andresen
c429f2b062
Merge pull request #2114 from sipa/strictstrict
...
Make IsCanonicalScript() check the hash type more thoroughly
2013-01-23 07:08:55 -08:00
Gavin Andresen
5a4af8f71f
Merge pull request #2167 from Diapolo/Qt_laa_flag
...
enable GCC large address aware linker flag (Windows only)
2013-01-23 07:00:24 -08:00
Gavin Andresen
a337505bd7
Merge pull request #2192 from mikehearn/notfoundmsg
...
Add a notfound message to getdata.
2013-01-23 06:48:57 -08:00
Gavin Andresen
1a2e45d8d5
Merge pull request #2188 from TheBlueMatt/bloom
...
Send transactions after a CMerkleBlock when asked for it in an inv.
2013-01-23 06:48:17 -08:00
Gregory Maxwell
d40c164369
Merge pull request #1872 from gmaxwell/listaddrnotmine
...
In listaddressgroupings push down the IsMine check to run on each input.
2013-01-21 16:30:34 -08:00
Gavin Andresen
ea0a2b18f2
Merge pull request #2193 from Diapolo/Qt_parseBitcoinURI
...
Bitcoin-Qt: extend parseBitcoinURI() pre-check
2013-01-21 13:58:31 -08:00
Gavin Andresen
5fca58cb8e
Merge pull request #2190 from sipa/fixgenesis
...
Bugfix + simplify special case for genesis
2013-01-21 10:07:46 -08:00
Philip Kaufmann
446cbf5fe9
Bitcoin-Qt: extend parseBitcoinURI() pre-check
...
- add check to verify if an URI is valid
2013-01-21 07:48:54 +01:00
Philip Kaufmann
6e65420bd5
make bitcoinrpc.cpp UTF-8 conformant again
...
- just replaces a character in a comment, which I had problems with when
opening the file in Qt Creator IDE
2013-01-20 18:50:30 +01:00
Mike Hearn
903d146030
Add a notfound message to getdata that is sent if any transactions that aren't in the relayable set are requested.
2013-01-19 18:48:26 +01:00
Wladimir J. van der Laan
bd85cf3df7
Merge pull request #2157 from Diapolo/Qt_addrlist
...
Bitcoin-Qt: fix known addressbook bugs
2013-01-19 06:32:40 -08:00
Wladimir J. van der Laan
0c16cc73ef
Merge pull request #2171 from Diapolo/init
...
add InitMessage() to noui and use debug.log for GUI
2013-01-19 06:29:34 -08:00
Pieter Wuille
8301ff5077
Bugfix + simplify special case for genesis
2013-01-19 00:35:17 +01:00
Matt Corallo
192cc910ec
Replace 520 constant with MAX_SCRIPT_ELEMENT_SIZE
2013-01-18 13:55:18 -05:00
Matt Corallo
28b80e6065
Send transactions after a CMerkleBlock when asked for it in an inv.
...
This actually simplifies some SPV code, as they can keep track of
a filtered block and its txn before accepting both in one step.
The previous argument was that SPV nodes should handle the txn the
same as any other free txn and then mark them as connected to a
block when they get the filtered block itself. However, it now
appears that SPV nodes will need to put in more effort to verify
loose txn than they would to verify txn in blocks, thus making it
more approriate to send the txn after the filtered block.
2013-01-18 12:16:39 -05:00
Eric Lombrozo
35c12d176e
Moved SyncWithWallets out of ProcessMessage and into CTxMemPool::accept() so that when adding multiple wallets they will be aware of each other's transactions.
2013-01-18 07:01:05 -08:00
Pieter Wuille
2d1fa42e85
Add optional transaction index to databases
...
By specifying -txindex when initializing the database, a txid-to-diskpos
index is maintained in the blktree database. This database is used to
help answering getrawtransaction() RPC queries, when enabled.
Changing the -txindex value requires a -reindex; the client will abort
at startup if the database and the specified -txindex mismatch.
2013-01-18 14:39:11 +01:00
Gavin Andresen
2c7847349d
Merge pull request #2149 from sipa/fixtxoutrpc
...
Make output of gettxout RPC more consistent
2013-01-17 18:42:57 -08:00
Gavin Andresen
0e31ae9818
Merge pull request #2060 from sipa/parallel
...
Parallel script verification
2013-01-17 16:58:58 -08:00
Philip Kaufmann
1f0ce2dd68
enable GCC large address aware linker flag (Windows only)
...
- this flag allows bitcoin-qt.exe / bitcoind.exe (32-bit application) to
handle addresses larger than 2GB (up to 3GB on x86 Windows and up to
4GB on x64 Windows)
2013-01-17 22:01:42 +01:00
Gavin Andresen
91f70a75da
Merge pull request #1795 from TheBlueMatt/bloom
...
Bloom filters
2013-01-17 10:04:08 -08:00
Wladimir J. van der Laan
a1f4909e0b
Merge pull request #2181 from Diapolo/translations
...
update bitcoinstrings.cpp and bitcoin_en.ts (2013-01-14)
2013-01-16 12:23:29 -08:00
Matt Corallo
c51694eb9b
Filter mempool command
2013-01-16 14:34:06 -05:00
Matt Corallo
e1a4f3778c
Add nFlags to CBloomFilter to make filter updating optional.
2013-01-16 14:34:06 -05:00
Matt Corallo
21aaf255ff
Use CPartialMerkleTree for CMerkleBlock transactions.
2013-01-16 14:34:06 -05:00
Pieter Wuille
4bedfa9223
Add CPartialMerkleTree
...
This adds a compact representation for a subset of a merkle tree's
nodes.
2013-01-16 14:34:06 -05:00
Matt Corallo
b1f99bed6f
Add a nTweak to bloom filters to tweak the seed.
2013-01-16 12:48:02 -05:00
Matt Corallo
4c8fc1a588
Let a node opt out of tx invs before we get a their bloom filter
...
Note that the default value for fRelayTxes is false, meaning we
now no longer relay tx inv messages before receiving the remote
peer's version message.
2013-01-16 12:48:02 -05:00
Matt Corallo
b02ddbedcb
Relay CMerkleBlocks when asked for MSG_FILTERED_BLOCK
2013-01-16 12:48:02 -05:00
Matt Corallo
2878c67cb5
Add test cases for CMerkleBlock and CBloomFilter.
2013-01-16 12:48:02 -05:00
Matt Corallo
9fb106e757
Add a CMerkleBlock to store merkle branches of filtered txes.
2013-01-16 12:48:02 -05:00
Matt Corallo
587f0f855e
Add a CBlock.GetBlockHeader
2013-01-16 12:48:02 -05:00
Matt Corallo
d3b26f7077
Automatically add any matching outputs to a filter during matching.
2013-01-16 12:48:02 -05:00
Matt Corallo
269d9c6492
Replace RelayMessage with RelayTransaction.
2013-01-16 12:48:02 -05:00
Matt Corallo
422d122537
Add a filter field in CNode, add filterload+filteradd+filterclear
2013-01-16 12:48:02 -05:00
Matt Corallo
133a546074
Bump PROTOCOL_VERSION for filter messages.
2013-01-16 12:48:02 -05:00
Matt Corallo
bd21612c37
Add a CBloomFilter class for use as a transaction filter.
2013-01-16 12:48:01 -05:00
Matt Corallo
7ab026f449
Add MurmurHash3 implementation to hash.h/add hash.cpp.
2013-01-16 12:48:01 -05:00
Matt Corallo
68feac96b6
Add const versions of base_uint.end()/begin(), make size() const.
2013-01-16 12:48:01 -05:00