aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2012-08-12Merge branch '0.4.x' into 0.5.xLuke Dashjr
2012-08-12Merge branch 'bugfix_CNBerr_daggy' into 0.4.xLuke Dashjr
2012-07-26TypoMichael Ford
2012-07-26Fix spelling of successfullyStephane Glondu
2012-07-26Typofanquake
2012-07-26Fix Typofanquake
2012-07-22Merge branch '0.4.x' into 0.5.xLuke Dashjr
2012-07-22fix OpenSSL not written as proper noun in some commentsPhilip Kaufmann
2012-07-22Let the comment in GetBlockValue() reflect the uncertainty about the time ↵Rune K. Svendsen
interval between subsidy reductions
2012-07-22Make sort and filters for transactions and labels case-insensitiveWladimir J. van der Laan
2012-07-22when on testnet, set testnet icon for about dialogPhilip Kaufmann
- add a comment
2012-07-22CBigNum: Convert negative int64 values in a more well-defined wayLuke Dashjr
Since the minimum signed integer cannot be represented as positive so long as its type is signed, and it's not well-defined what happens if you make it unsigned before negating it, we instead increment the negative integer by 1, convert it, then increment the (now positive) unsigned integer by 1 to compensate
2012-07-22Fix signed subtraction overflow in CBigNum::setint64().Ricardo M. Correia
As noticed by sipa (Pieter Wuille), this can happen when CBigNum::setint64() is called with an integer value of INT64_MIN (-2^63). When compiled with -ftrapv, the program would crash. Otherwise, it would execute an undefined operation (although in practice, usually the correct one).
2012-07-06Merge branch '0.4.x' into 0.5.xLuke Dashjr
2012-07-06Do not consider inbound peers for outbound network group exclusion.Gregory Maxwell
Bitcoin will not make an outbound connection to a network group (/16 for IPv4) that it is already connected to. This means that if an attacker wants good odds of capturing all a nodes outbound connections he must have hosts on a a large number of distinct groups. Previously both inbound and outbound connections were used to feed this exclusion. The use of inbound connections, which can be controlled by the attacker, actually has the potential of making sibyl attacks _easier_: An attacker can start up hosts in groups which house many honest nodes and make outbound connections to the victim to exclude big swaths of honest nodes. Because the attacker chooses to make the outbound connection he can always beat out honest nodes for the consumption of inbound slots. At _best_ the old behavior increases attacker costs by a single group (e.g. one distinct group to use to fill up all your inbound slots), but at worst it allows the attacker to select whole networks you won't connect to. This commit makes the nodes use only outbound links to exclude network groups for outbound connections. Fancier things could be done, like weaker exclusion for inbound groups... but simplicity is good and I don't believe more complexity is currently needed.
2012-07-06Fix a couple more typosfanquake
2012-07-06fix a typo in OptionsDialogPhilip Kaufmann
2012-07-05Fix a few typosfanquake
2012-07-05Fix a few typosfanquake
2012-07-05Changed a comment about a QVariant typexanatos
2012-07-05GUI: ensure a changed bitcoin unit immediately updates the tx list amountsPhilip Kaufmann
2012-06-20Merge branch '0.4.x' into 0.5.xLuke Dashjr
Conflicts: src/main.cpp src/serialize.h
2012-06-20print large orphan warning BEFORE deleting pvMsgGavin Andresen
2012-06-20Bump VERSION so we can differentiate between 0.4.7rc2 and 0.4.7rc3Luke Dashjr
2012-06-20Remove invalid dependent orphans from memoryGavin Andresen
Remove orphan transactions from memory once all of their parent transactions are received and they're still not valid. Thanks to Sergio Demian Lerner for suggesting this fix.
2012-06-20Further DoS prevention: Verify signatures lastGavin Andresen
Loop over all inputs doing inexpensive validity checks first, and then loop over them a second time doing expensive signature checks. This helps prevent possible CPU exhaustion attacks where an attacker tries to make a victim waste time checking signatures for invalid transactions.
2012-06-20Optimize orphan transaction handlingGavin Andresen
Changes suggested by Sergio Demian Lerner to help prevent potential DoS attacks.
2012-06-18Don't overflow integer on 32-bit machines.Ricardo M. Correia
This was causing test_bitcoin to abort on a 32-bit system likely due to -ftrapv.
2012-06-18Don't overflow signed ints in CBigNum::setint64().Ricardo M. Correia
CBigNum::setint64() does 'n <<= 8', where n is of type "long long". This leads to shifting onto and past the sign bit, which is undefined behavior in C++11 and can cause problems in the future.
2012-06-18add the slot updateDisplayUnit() to overviewpage, sendcoinsdialog, ↵Philip Kaufmann
sendcoinsentry and connect it to displayUnitChanged() - this ensures all fields in the GUI, who use a display unit are imediately updated, when the user changes this setting in the optionsdialog / ensure used fields init with the current set display unit
2012-06-14Merge branch '0.4.x' into 0.5.xLuke Dashjr
2012-06-14Use std::numeric_limits<> for typesafe INT_MAX/etcGavin Andresen
(this fixes a Mac OS X gitian build error for 0.5.x)
2012-06-14Include limits, not climints (using std::numeric_limits now)Gavin Andresen
2012-06-14Use std::numeric_limits<> for typesafe INT_MAX/etcGavin Andresen
(this fixes a Mac OS X gitian build error for 0.5.x)
2012-06-14Merge branch '0.4.x' into 0.5.xLuke Dashjr
Conflicts: doc/release-process.txt src/serialize.h
2012-06-14Fix build of testcases after commit 0f10b21719e1b0d9683a142f0a7105e65f095694Wladimir J. van der Laan
2012-06-14Bugfix: Fix various places where Bitcoin-Qt was being shutdown improperlyPhilip Kaufmann
(Partial/merge of upstream 9247134eaba9a1d0fa74f22de238af1476663005, 1a3f0da9229a8e524d1010cdc8bd3b9da71fe529, and 3e343522226e6c249f5cb05436eec347b87c6361)
2012-06-14Don't call exit() in Shutdown() for Bitcoin-Qt (fixes a tray-icon issue)Philip Kaufmann
(partial of 9247134eaba9a1d0fa74f22de238af1476663005)
2012-06-14change initial Balance on overviewpage from "123.456 BTC" to "0 BTC" to not ↵Philip Kaufmann
confuse users, which could see it before we init with the real wallet balance
2012-06-14removed ability to translate "0 BTC" and "123.456 BTC" as this is only used ↵Philip Kaufmann
as preview in the Qt Designer anyway (partial of 4295311da34ed8132351855f057decedfe434b44)
2012-06-14Do not select first address automatically in the address bookWladimir J. van der Laan
This contributed to an accidental send (#1384), and has no clear advantage, better to disable it.
2012-06-14Bump VERSION so we can differentiate between fixed 0.4.7rc2 and not-fixed ↵Luke Dashjr
0.4.7rc1
2012-06-12Bugfix: Move IsStandard scriptSig size check out of IsPushOnly, since BIP16 ↵Luke Dashjr
verification uses the latter too This caused clients to reject block #177618 since it has a P2SH transaction with over 200 bytes in scriptSig. (Upstream commit: e679ec969c8b22c676ebb10bea1038f6c8f13b33)
2012-06-06fix an incorrect if-clause in net.cppPhilip Kaufmann
2012-06-06Serialize access to debug.log streamMichael Hendricks
Acquire an exclusive, advisory lock before sending output to debug.log and release it when we're done. This should avoid output from multiple threads being interspersed in the log file. We can't use CRITICAL_SECTION machinery for this because the debug log is written during startup and shutdown when that machinery is not available. (Thanks to Gavin for pointing out the CRITICAL_SECTION problems based on his earlier work in this area)
2012-05-22Merge branch '0.4.x' into 0.5.xLuke Dashjr
Conflicts: src/ui.cpp src/ui.h src/uibase.cpp src/xpm/about.xpm
2012-05-22Prevent crashes due to missing or corrupted blk????.dat recordsJeff Garzik
2012-05-22Prevent crashes due to missing or corrupted database recordsJeff Garzik
Any problems seen during deserialization will throw an uncaught exception, crashing the entire bitcoin process. Properly return an error instead, so that we may at least log the error and gracefully shutdown other portions of the app.
2012-05-22Correct debug.log output to show correct function the debug is coming from.R E Broadley
2012-05-22Filter out whitespace and zero-width non-breaking spaces in validatorWladimir J. van der Laan
- Fixes issues with copy/pasting from web or html emails (#1325)