aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | | | Merge pull request #2182 from gavinandresen/addressoracleGavin Andresen2013-01-264-32/+31
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | | Remove IsFromMe() check in CTxMemPool::accept()
| * | | | | | | Let limitfreerelay=0 reject ALL free transactionsGavin Andresen2013-01-231-1/+1
| | | | | | | |
| * | | | | | | Remove IsFromMe() check in CTxMemPool::accept()Gavin Andresen2013-01-154-32/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes issue #2178 : attacker could penny-flood with invalid-signature transactions to deduce which addresses belonged to your node. I'm committing this early for code review; I still need to write up a test plan. Executive summary of fix: check all transactions received from the network for penny-flood rate-limiting before adding to the memory pool. But do NOT ratelimit transactions added to the memory pool: - because of blockchain reorgs - stored in the wallet and added at startup - sent from the GUI or one of the send* RPC commands (CWallet::CommitTransaction) The limit-free-transactions code really should be a method on CNode, with counters per-peer. But that is a bigger change for another day.
* | | | | | | | Check only 288 blocks at startup by defaultPieter Wuille2013-01-262-2/+2
| |_|_|_|/ / / |/| | | | | |
* | | | | | | full translations updatePhilip Kaufmann2013-01-2640-8896/+23650
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - fetch current translations from Transifex - update bitcoinstrings.cpp and bitcoin_en.ts
* | | | | | | Merge pull request #2168 from sipa/txindexGavin Andresen2013-01-255-7/+94
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | | Add optional transaction index to databases
| * | | | | | Add optional transaction index to databasesPieter Wuille2013-01-185-7/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | | | Merge pull request #2207 from gavinandresen/leveldb19Gavin Andresen2013-01-2441-988/+2029
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Leveldb19
| * | | | | | | Fix corruption bug found and analyzed by [email protected]David Grogan2013-01-235-2/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://groups.google.com/d/msg/leveldb/Kc9JxuIUu5A/9P0N9RL4ar8J
| * | | | | | | added utility to dump leveldb filesSanjay Ghemawat2013-01-235-5/+253
| | | | | | | |
| * | | | | | | Port leveldb to MinGW32Gavin Andresen2013-01-236-38/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | | | | Mingw support for Windows LevelDB portPieter Wuille2013-01-232-0/+13
| | | | | | | |
| * | | | | | | Pre-Vista leveldb::port::InitOnce implementationPieter Wuille2013-01-232-8/+21
| | | | | | | |
| * | | | | | | Native Windows LevelDB portPieter Wuille2013-01-237-1/+1371
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Import native Windows LevelDB port by Hiram Chirino. Extracted from from https://github.com/chirino/leveldb.git using git diff dd0d562..aea83b7
| * | | | | | | Remove Snappy supportPieter Wuille2013-01-231-11/+0
| | | | | | | |
| * | | | | | | Replace leveldb/ with vanilla 1.7.0Pieter Wuille2013-01-2334-1216/+481
| | | | | | | |
* | | | | | | | Bitcoin-Qt: cleanup / optimise addressbookpagePhilip Kaufmann2013-01-232-21/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* | | | | | | | Merge pull request #2187 from CodeShark/SyncWithWalletsFixGavin Andresen2013-01-231-2/+1
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | | Bugfix - Moved SyncWithWallets out of ProcessMessage and into CTxMemPool::accept()
| * | | | | | | Moved SyncWithWallets out of ProcessMessage and into CTxMemPool::accept() so ↵Eric Lombrozo2013-01-181-2/+1
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | that when adding multiple wallets they will be aware of each other's transactions.
* | | | | | | Merge pull request #2114 from sipa/strictstrictGavin Andresen2013-01-231-1/+2
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Make IsCanonicalScript() check the hash type more thoroughly
| * | | | | | | Make IsCanonicalScript() check the hash type more thoroughlyPieter Wuille2012-12-221-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0 and 128 were previously accepted as standard hash type. Note that this function is not active in the current verification code.
* | | | | | | | Merge pull request #2167 from Diapolo/Qt_laa_flagGavin Andresen2013-01-232-2/+4
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | enable GCC large address aware linker flag (Windows only)
| * | | | | | | | enable GCC large address aware linker flag (Windows only)Philip Kaufmann2013-01-172-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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)
* | | | | | | | | Merge pull request #2192 from mikehearn/notfoundmsgGavin Andresen2013-01-231-1/+17
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Add a notfound message to getdata.
| * | | | | | | | | Add a notfound message to getdata that is sent if any transactions that ↵Mike Hearn2013-01-191-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | aren't in the relayable set are requested.
* | | | | | | | | | Merge pull request #2188 from TheBlueMatt/bloomGavin Andresen2013-01-233-4/+6
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Send transactions after a CMerkleBlock when asked for it in an inv.
| * | | | | | | | | | Replace 520 constant with MAX_SCRIPT_ELEMENT_SIZEMatt Corallo2013-01-183-3/+5
| | | | | | | | | | |
| * | | | | | | | | | Send transactions after a CMerkleBlock when asked for it in an inv.Matt Corallo2013-01-181-1/+1
| | |_|_|/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | | | | | | Merge pull request #1872 from gmaxwell/listaddrnotmineGregory Maxwell2013-01-211-12/+21
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | In listaddressgroupings push down the IsMine check to run on each input.
| * | | | | | | | | | In listaddressgroupings push down the IsMine check to run on each input.Gregory Maxwell2012-12-141-12/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This avoids a potential crash when trying to read the scrippubkeys on transactions where the first input IsMine but some of the rest are not when running listaddressgroupings.
* | | | | | | | | | | Merge pull request #2193 from Diapolo/Qt_parseBitcoinURIGavin Andresen2013-01-211-1/+2
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Bitcoin-Qt: extend parseBitcoinURI() pre-check
| * | | | | | | | | | | Bitcoin-Qt: extend parseBitcoinURI() pre-checkPhilip Kaufmann2013-01-211-1/+2
| | |_|/ / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - add check to verify if an URI is valid
* | | | | | | | | | | Merge pull request #2190 from sipa/fixgenesisGavin Andresen2013-01-211-15/+8
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Bugfix + simplify special case for genesis
| * | | | | | | | | | | Bugfix + simplify special case for genesisPieter Wuille2013-01-191-15/+8
| | |_|/ / / / / / / / | |/| | | | | | | | |
* | | | | | | | | | | make bitcoinrpc.cpp UTF-8 conformant againPhilip Kaufmann2013-01-201-1/+1
| |/ / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - just replaces a character in a comment, which I had problems with when opening the file in Qt Creator IDE
* | | | | | | | | | Merge pull request #2157 from Diapolo/Qt_addrlistWladimir J. van der Laan2013-01-194-33/+64
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Bitcoin-Qt: fix known addressbook bugs
| * | | | | | | | | | Bitcoin-Qt: fix known addressbook bugsPhilip Kaufmann2013-01-094-33/+64
| | |_|_|_|_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - add qSort() for cachedAddressTable, as qLowerBound() and qUpperBound() require the list to be in ascending order (see http://harmattan-dev.nokia.com/docs/library/html/qt4/qtalgorithms.html#qLowerBound) - add a new check in AddressTableModel::setData() to just return, when no changes were made to a label or an address (prevents entry duplication issue) - remove "rec->label = value.toString();" from AddressTableModel::setData() as the label gets updated by AddressTablePriv::updateEntry() anyway (seems @sipa added this line via https://github.com/bitcoin/bitcoin/commit/1025440184ef100a22d07c7bb543ee45cf169d64#L6R225) - add another new check in AddressTableModel::setData() to just return, if a duplicate address was found (prevents address overwrite) - add a new check to EditAddressDialog::setModel() to prevent setting an invalid model - re-work the switch-case statement in AddressTableModel::accept() to always break (as return get's called anyway) and order the list to match the enum definition - make accept() in editaddressdialog.h a public slot, which it should be - misc small coding style changes
* | | | | | | | | | Merge pull request #2171 from Diapolo/initWladimir J. van der Laan2013-01-193-4/+10
|\ \ \ \ \ \ \ \ \ \ | |_|/ / / / / / / / |/| | | | | | | | | add InitMessage() to noui and use debug.log for GUI
| * | | | | | | | | add InitMessage() to noui and use debug.log for GUIPhilip Kaufmann2013-01-113-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - this pull adds an InitMessage() function to noui.cpp, which outputs init messages to debug.log (this allows to remove some printf() calls from init.cpp) - change InitMessage() in bitcoin.cpp to also write init messages to debug.log to ensure nothting is missing in the log because of the removal of printf() calls in init.cpp
* | | | | | | | | | Merge pull request #2149 from sipa/fixtxoutrpcGavin Andresen2013-01-171-3/+4
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Make output of gettxout RPC more consistent
| * | | | | | | | | | Make output of gettxout RPC more consistentPieter Wuille2013-01-041-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Report "value" in BTC, rather than "amount" in satoshis * Use ScriptPubKeyToJSON to report script data
* | | | | | | | | | | Merge pull request #2060 from sipa/parallelGavin Andresen2013-01-178-41/+341
|\ \ \ \ \ \ \ \ \ \ \ | |_|_|_|_|/ / / / / / |/| | | | | | | | | | Parallel script verification
| * | | | | | | | | | Remove contention on signature cache during block validationPieter Wuille2013-01-083-10/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since block validation happens in parallel, multiple threads may be accessing the signature cache simultaneously. To prevent contention: * Turn the signature cache lock into a shared mutex * Make reading from the cache only acquire a shared lock * Let block validations not store their results in the cache
| * | | | | | | | | | Parallelize script verificationPieter Wuille2013-01-086-6/+280
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * During block verification (when parallelism is requested), script check actions are stored instead of being executed immediately. * After every processed transactions, its signature actions are pushed to a CScriptCheckQueue, which maintains a queue and some synchronization mechanism. * Two or more threads (if enabled) start processing elements from this queue, * When the block connection code is finished processing transactions, it joins the worker pool until the queue is empty. As cs_main is held the entire time, and all verification must be finished before the block continues processing, this does not reach the best possible performance. It is a less drastic change than some more advanced mechanisms (like doing verification out-of-band entirely, and rolling back blocks when a failure is detected). The -par=N flag controls the number of threads (1-16). 0 means auto, and is the default.
| * | | | | | | | | | Remove CheckSig_mode and move logic out of CheckInputs()Pieter Wuille2013-01-082-14/+8
| | | | | | | | | | |
| * | | | | | | | | | Add CScriptCheck: a closure representing a script checkPieter Wuille2013-01-082-8/+34
| | | | | | | | | | |
| * | | | | | | | | | Move VerifySignature to mainPieter Wuille2013-01-084-14/+14
| | |_|/ / / / / / / | |/| | | | | | | |
* | | | | | | | | | Merge pull request #1795 from TheBlueMatt/bloomGavin Andresen2013-01-1720-62/+1312
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Bloom filters
| * | | | | | | | | | Filter mempool commandMatt Corallo2013-01-161-5/+8
| | | | | | | | | | |
| * | | | | | | | | | Add nFlags to CBloomFilter to make filter updating optional.Matt Corallo2013-01-163-26/+145
| | | | | | | | | | |