aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2016-05-05http: Change boost::scoped_ptr to std::unique_ptr in HTTPRequestWladimir J. van der Laan
No need for boost here.
2016-05-05http: Add log message when work queue is fullWladimir J. van der Laan
More useful error reporting.
2016-05-05http: Do a pending c++11 simplificationWladimir J. van der Laan
Use std::unique_ptr for handling work items. This makes the code more RAII and, as mentioned in the comment, is what I planned when I wrote the code in the first place.
2016-05-04Merge #7974: More comments on the design of AttemptToEvictConnection.Wladimir J. van der Laan
d90351f More comments on the design of AttemptToEvictConnection. (Gregory Maxwell)
2016-05-04Merge #7982: build: No need to check for leveldb atomicsWladimir J. van der Laan
de98290 build: No need to check for leveldb atomics (Cory Fields)
2016-05-02bitcoin-cli.cpp: Use symbolic constant for exit codePuru
2016-05-02Merge #7959: fix race that could fail to persist a banWladimir J. van der Laan
f4ac02e fix race that could fail to persist a ban (Kaz Wesley)
2016-05-02Merge #7964: Minor changes for c++11 consistencyWladimir J. van der Laan
07e4edb auto_ptr → unique_ptr (Wladimir J. van der Laan) 073225c chain: define enum used as bit field as uint32_t (Wladimir J. van der Laan)
2016-04-30build: No need to check for leveldb atomicsCory Fields
They're guaranteed with c++11
2016-04-29More comments on the design of AttemptToEvictConnection.Gregory Maxwell
Some developers clearly don't get this and have been posting "improvements" that create clear vulnerabilities. It should have been better explained in the code, since the design is somewhat subtle and getting it right is important.
2016-04-29Merge #7807: Fixed miner test values, gave constants for less error-prone ↵MarcoFalke
values. f8536a6 Corrected values (instagibbs) 617deeb Gave miner test values constants for less error-prone values. (instagibbs)
2016-04-28Merge #7962: CalculateNextWorkRequired CleanupWladimir J. van der Laan
c7aac2d Deprecating the remaining LogPrintf dependencies that were made obsolete in PR #7459. (21E14)
2016-04-28Merge #7926: [RPC] push back getaddednodeinfo dead valueWladimir J. van der Laan
9c0bcb6 push back getaddednodeinfo dead value (instagibbs)
2016-04-28Merge #7952: Log invalid block hash to make debugging easier.Wladimir J. van der Laan
61c0170 Log invalid block hash to make debugging easier. (Pavel Janík)
2016-04-28auto_ptr → unique_ptrWladimir J. van der Laan
Change the few occurrences of the deprecated `auto_ptr` to c++11 `unique_ptr`. Silences the deprecation warnings. Also add a missing `std::` for consistency.
2016-04-28chain: define enum used as bit field as uint32_tWladimir J. van der Laan
Bitwise logic combined with `<` with undefined signedness will potentially results in undefined behavior. Fix this by defining the type as a c++11 typed enum. Fixes #6017.
2016-04-28Merge #7514: Fix IsInitialBlockDownload for testnetWladimir J. van der Laan
8aa7226 Fix IsInitialBlockDownload to play nice with testnet (jmacwhyte)
2016-04-28Merge #7939: qt: Make it possible to show details for multiple transactionsWladimir J. van der Laan
f135e3c qt: Add transaction hash to details window title (Wladimir J. van der Laan) 17a6a21 qt: Make it possible to show details for multiple transactions (Wladimir J. van der Laan)
2016-04-27Deprecating the remaining LogPrintf dependencies that were made obsolete in ↵21E14
PR #7459.
2016-04-27fix race that could fail to persist a banKaz Wesley
DumpBanList currently does this: - with lock: take a copy of the banmap - perform I/O (write out the banmap) - with lock: mark the banmap non-dirty If a new ban is added during the I/O operation, it may never be persisted to disk. Reorder operations so that the data to be persisted cannot be older than the time at which the banmap was marked non-dirty.
2016-04-26Log invalid block hash to make debugging easier.Pavel Janík
2016-04-26qt: Add transaction hash to details window titleWladimir J. van der Laan
2016-04-26Merge #7933: Fix OOM when deserializing UTXO entries with invalid lengthWladimir J. van der Laan
1e44169 Add tests for CCoins deserialization (Pieter Wuille) 5d0434d Fix OOM bug: UTXO entries with invalid script length (Pieter Wuille) 4bf631e CDataStream::ignore Throw exception instead of assert on negative nSize. (Patrick Strateman) 4f87af6 Treat overly long scriptPubKeys as unspendable (Pieter Wuille) f8e6fb1 Introduce constant for maximum CScript length (Pieter Wuille)
2016-04-25Fixing comment in script_test.json test caseChris Stewart
2016-04-25qt: Make it possible to show details for multiple transactionsWladimir J. van der Laan
A small GUI annoyance for me has always been that it's impossible to have multiple transaction detail windows open, for example to compare transactions. This patch makes the window non-modal so that it is possible to open transaction details at will.
2016-04-25Merge #7688: List solvability in listunspent output and improve helpWladimir J. van der Laan
c3932b3 List solvability in listunspent output and improve help (Pieter Wuille)
2016-04-25Add tests for CCoins deserializationPieter Wuille
2016-04-25Fix OOM bug: UTXO entries with invalid script lengthPieter Wuille
2016-04-25CDataStream::ignore Throw exception instead of assert on negative nSize.Patrick Strateman
Previously disk corruption would cause an assert instead of an exception.
2016-04-25Treat overly long scriptPubKeys as unspendablePieter Wuille
2016-04-25Introduce constant for maximum CScript lengthPieter Wuille
2016-04-25Merge #7927: Minor changes to dbwrapper to simplify support for other databasesWladimir J. van der Laan
869cf12 dbwrapper: Move `HandleError` to `dbwrapper_private` (Wladimir J. van der Laan) b69836d dbwrapper: Pass parent CDBWrapper into CDBBatch and CDBIterator (Wladimir J. van der Laan) 878bf48 dbwrapper: Remove CDBWrapper::GetObfuscateKeyHex (Wladimir J. van der Laan) 74f7b12 dbwrapper: Remove throw keywords in function signatures (Wladimir J. van der Laan)
2016-04-23dbwrapper: Move `HandleError` to `dbwrapper_private`Wladimir J. van der Laan
HandleError is implementation-specific.
2016-04-23dbwrapper: Pass parent CDBWrapper into CDBBatch and CDBIteratorWladimir J. van der Laan
Pass parent wrapper directly instead of obfuscation key. This makes it possible for other databases which re-use this code to use other properties from the database. Add a namespace dbwrapper_private for private functions to be used only in dbwrapper.h/cpp and dbwrapper_tests.
2016-04-23dbwrapper: Remove CDBWrapper::GetObfuscateKeyHexWladimir J. van der Laan
It is an unnecessary method as it is used only two times and only internally, and the whole implementation is HexStr(obfuscate_key).
2016-04-23dbwrapper: Remove throw keywords in function signaturesWladimir J. van der Laan
Using throw() specifications in function signatures is not only not required in C++, it is considered deprecated for [various reasons](https://stackoverflow.com/questions/1055387/throw-keyword-in-functions-signature). It is not implemented by any of the common C++ compilers. The usage is also inconsistent with the rest of the source code.
2016-04-22push back getaddednodeinfo dead valueinstagibbs
2016-04-22qt: Fix out-of-tree GUI buildsWladimir J. van der Laan
Without this patch: - When I compile the GUI from the bitcoin directory itself, it works as expected. - When I build the GUI in an out-of-tree build, I cannot get it to select tabs. When I click, say the "Receive" tab nothing happens, the button selects but it doesn't switch the page. The rest - even the debug window - seems to work. See full discussion here: https://github.com/bitcoin/bitcoin/pull/7911#issuecomment-212413442 This turned out to be caused by a mismatch in the arguments to moc, preventing it from finding `bitcoin-config.h`. Fix this by passing `$(DEFAULT_INCLUDES)` to it, which gets set to the appropriate path by autoconf itself.
2016-04-22Merge #7911: leveldb: integrate leveldb into our buildsystemWladimir J. van der Laan
a4625ac leveldb: integrate leveldb into our buildsystem (Cory Fields)
2016-04-22Merge #7922: CBase58Data::SetString: cleanse the full vectorWladimir J. van der Laan
5770449 CBase58Data::SetString: cleanse the full vector (Kaz Wesley)
2016-04-22Merge #7919: Fix headers announcements edge caseWladimir J. van der Laan
3a99fb2 Fix headers announcements edge case (Suhas Daftuar)
2016-04-22Merge #7816: [Wallet] slighly refactor GetOldestKeyPoolTime()Wladimir J. van der Laan
9f7336b [Wallet] slightly refactor GetOldestKeyPoolTime() (Jonas Schnelli)
2016-04-21CBase58Data::SetString: cleanse the full vectorKaz Wesley
SetString seems to be passing the length of the wrong variable to memory_cleanse, resulting in the last byte of the temporary buffer not being securely erased.
2016-04-21Merge #7916: Explicitly pass CChainParams& to DisconnectTip()Wladimir J. van der Laan
176869f Explicitly pass CChainParams to ConnectBlock (face) d0a6353 Pass CChainParams to DisconnectTip() (face) 764d237 Globals: Explicitly pass const CChainParams& to UpdateTip() (Jorge Timón)
2016-04-21Merge #7913: Fix for incorrect locking in GetPubKey() (keystore.cpp)Pieter Wuille
220f950 Fix for incorrect locking in GetPubKey() (keystore.cpp) (Yuri Zhykin)
2016-04-21Merge #7868: net: Split DNS resolving functionality out of net structuresPieter Wuille
d39f5b4 net: disable resolving from storage structures (Cory Fields) 3675699 net: resolve outside of storage structures (Cory Fields) a98cd1f net: manually resolve dns seed sources (Cory Fields) e9fc71e net: require lookup functions to specify all arguments (Cory Fields)
2016-04-20Fix headers announcements edge caseSuhas Daftuar
Previously we would assert that if every block in vBlockHashesToAnnounce is in chainActive, then the blocks to be announced must connect. However, there are edge cases where this assumption could be violated (eg using invalidateblock / reconsiderblock), so just check for this case and revert to inv-announcement instead.
2016-04-20net: disable resolving from storage structuresCory Fields
CNetAddr/CService/CSubnet can no longer resolve DNS.
2016-04-20net: resolve outside of storage structuresCory Fields
Rather than allowing CNetAddr/CService/CSubNet to launch DNS queries, require that addresses are already resolved. This greatly simplifies async resolve logic, and makes it harder to accidentally leak DNS queries.
2016-04-20net: manually resolve dns seed sourcesCory Fields
Note: Some seeds aren't actually returning an IP for their name entries, so they're being added to addrman with a source of [::]. This commit shouldn't change that behavior, for better or worse.