5841 Commits

Author SHA1 Message Date
Cory Fields
4697e9462c script: Add test for CScriptNum
Because this class replaces some usages of CBigNum, tests have been added to
verify that they function the same way. The only difference in their usage is
the handling of out-of-range numbers.

While operands are constrained to [-0x7FFFFFFF,0x7FFFFFFF], the results may
overflow. The overflowing result is technically unbounded, but in practice
it can be no bigger than the result of an operation on two operands. This
implementation limits them to the size of an int64.

CBigNum was unaware of this constraint, so it allowed for unbounded results,
which were then checked before use. CScriptNum asserts if an arithmetic
operation will overflow an int64_t, since scripts are not able to reach those
numbers anyway. Additionally, CScriptNum will throw an exception when
constructed from a vector containing more than 4 bytes This mimics the previous
CastToBigNum behavior.
2014-05-29 20:05:07 +02:00
Cory Fields
7036baf33e script: add additional script tests 2014-05-29 20:04:45 +02:00
Cory Fields
d3755d5afb script: remove bignum dependency 2014-05-29 20:04:32 +02:00
Cory Fields
0393a1a1d9 script: switch outside users to CScriptNum 2014-05-29 20:04:26 +02:00
Cory Fields
0a3b1250f1 script: switch to CScriptNum usage for scripts 2014-05-29 20:02:43 +02:00
Cory Fields
5c0c3e2081 script: add CScriptNum class
This class holds an int64_t and replaces the use of CBigInt for script
integrals.
2014-05-29 20:02:36 +02:00
Wladimir J. van der Laan
52861fb616 AddToWallet implies BindWallet
Now that AddToWallet is called when loading transactions from the
wallet database, BindWallet can be integrated into that and does not
need to be an extra step.

Leaves behaviour unchanged, but makes the
fFromLoadWallet/!fFromLoadWallet paths in AddToWallet a bit more
symmetric.
2014-05-29 19:52:30 +02:00
Wladimir J. van der Laan
1d03869b42 chainActive locking issues resolved 2014-05-29 19:47:54 +02:00
Wladimir J. van der Laan
813a7c8d90 Add AssertLockHeld for cs_main to ChainActive-using functions
All functions that use ChainActive but do not aquire the cs_main
lock themselves, need to be called with the cs_main lock held.

This commit adds assertions to all externally callable functions
that use chainActive or chainMostWork.

This will flag usages when built with -DDEBUG_LOCKORDER.
2014-05-29 19:41:50 +02:00
Wladimir J. van der Laan
0aa5238665 translation update 2014-05-29 19:40:50 +02:00
Altoidnerd
135960f8fe Point to BDB 5.1 2014-05-29 18:32:59 +02:00
Wladimir J. van der Laan
d9c96f4fb3 Update doc/gitian-building.md for new gitian
The patch to make it possible to configure the LXC IPs has been merged
upstream. This means that it is no longer needed to patch gitian.
Remove that workaround.
2014-05-29 18:29:36 +02:00
langerhans
9e6df86fc7 Merge pull request #536 from langerhans/btc-0.9.2-batch-3
BTC 0.9.2 batch 3
2014-05-28 10:06:32 +02:00
langerhans
464394c832 Supply working pre-generated sighash test vectors. 2014-05-26 21:51:41 +02:00
langerhans
0b97f55c66 Missed a line in one commit 2014-05-26 21:43:49 +02:00
Warren Togami
f5d6f82338 VERSION obtained from source instead of the previous git tag.
Drawback: The version string is no longer a valid git identifier.
          For this reason the 'g' short hash prefix has been removed.

Exception: When building directly from a tag this behaves exactly like the previous behavior.
           This allows formatting release versions with precision     i.e. v0.9.2
           This also allows arbitrary topicbranch names               i.e. v0.9.1-glibc-compat
2014-05-26 21:34:40 +02:00
Wladimir J. van der Laan
e851381a9c Update Doxyfile 2014-05-26 21:29:43 +02:00
Philip Kaufmann
3e2a2c9cd4 [Qt] catch Windows shutdown events while client is running
- prevents unsafe shutdowns on Windows, which is known to be
  able to cause problems with wallet.dat
- if a users ends a Windows session, this will initiate a client shutdown
  and show a Windows dialog, that tells the user what is going on (for
  Windows Vista and higher it will even show a reason for blocking the
  Windows session end)
2014-05-26 21:18:41 +02:00
super3
a5507a8424 /contrib index reorg
Cleaner and easier to read.

Reordered by functionality
2014-05-26 21:16:13 +02:00
rxl
97cedff301 Improve and expand base58 comments
update comments so doxygen will pick them up
2014-05-26 21:15:01 +02:00
langerhans
addaef6db9 Update expected hashes 2014-05-26 21:13:46 +02:00
Cory Fields
28befb4c53 build: add symbol for upcoming gcc 4.9's libstdc++ 2014-05-26 21:02:53 +02:00
Wladimir J. van der Laan
fb9ae3823d Note about translations 2014-05-26 21:02:18 +02:00
Warren Togami
22ea4eb964 Use glibc compat. Removes the static linux builds as this enables compatibility with older distros again. 2014-05-26 20:57:07 +02:00
Cory Fields
4952ef8bf1 build: add an option for enabling glibc back-compat
Using "./configure --enable-glibc-back-compat" will attempt to be
compatible with a target running glibc abi 2.9 and libstdc++ abi 3.4.
2014-05-26 20:55:28 +02:00
Cory Fields
975cb511ee build: add glibc/libstdc++ back-compat stubs
glibc/libstdc++ have added new symbols in later releases. When running a new
binary against an older glibc, the run-time linker is unable to resolve the
new symbols and the binary refuses to run.

This can be fixed by adding our own versions of those functions, so that the
build-time linker does not emit undefined symbols for them.

This enables our binary releases to work on older Linux distros, while not
incurring the downsides of a fully static binary.
2014-05-26 20:55:05 +02:00
Gregory Maxwell
2def10fd70 Correct some proxy related socket leaks. 2014-05-26 20:54:03 +02:00
Gregory Maxwell
b9ad84bb6c Prevent socket leak in ThreadSocketHandler.
When we are over our outbound limit ThreadSocketHandler would try to
 keep the connection if the peer was addnoded.

This didn't actually work for two reasons: It didn't actually run
 the accept code due to mistaken code flow, and because we have a
 limited number of outbound semaphores it couldn't actually use the
 connection.

Instead it leaked the socket, which might have caused issue #4034.

This patch just takes out the non-functioning white-listing for now.
2014-05-26 20:53:05 +02:00
Eric S. Bullington
f35f493d20 Changed bitrpc.py's raw_input to getpass for password input 2014-05-26 20:51:33 +02:00
Wladimir J. van der Laan
4761e76d39 Intermediate build hashes 2014-05-26 20:42:55 +02:00
Luke Dashjr
2f2de3e983 Bugfix: configure: Look in libx32 subdirectory for boost libraries 2014-05-26 20:40:34 +02:00
Wladimir J. van der Laan
218d322cef Update to minupnpc 1.9 - Needs rebuild of deps-[win|linux] package, but not Qt (phew). 2014-05-26 20:40:05 +02:00
Wladimir J. van der Laan
1be9d03f8a Reference dependency versions instead of duplicating them 2014-05-26 20:30:06 +02:00
Hector Jusforgues
560170eada Fix a typo in RPC signrawtransaction help 2014-05-26 20:27:51 +02:00
Michael Ford
a00925d1ef Fixes the broken image in the Gitian Build Guide 2014-05-26 20:21:21 +02:00
Cory Fields
071d7d2613 build: Sync ax_boost_base.m4 with upstream.
This should fix 32bit boost detection on Ubuntu Saucy+. Fixes #3945.
2014-05-26 20:20:47 +02:00
Wladimir J. van der Laan
c5b35deae6 Show error message if ReadConfigFile fails
A runaway exception was raised if ReadConfigFile fails (usually
due to a parse error in bitcoin.conf). Show an error message instead.

Fixes #4013.
2014-05-26 20:20:11 +02:00
Wladimir J. van der Laan
b560c9bd6d Doxygen-compatible comments in coding style 2014-05-26 20:19:23 +02:00
Gregory Maxwell
5b0ac349e4 Move assert(pindexNew); to above where we dereference pindexNew. 2014-05-26 20:15:04 +02:00
olalonde
0708a568ca Added instructions for when wrong openssl detected after brew link 2014-05-26 20:14:41 +02:00
Gavin Andresen
a6a71efce6 Have pull-tester run the listtransactions.py regression test
This should show how to run a python-based regression test
successfully in the pull-tester environment.
2014-05-26 20:10:27 +02:00
Wladimir J. van der Laan
897360df00 Add gitian build guide
Work in progress...

[Also dogeify it]
2014-05-26 20:08:59 +02:00
Cozz Lovan
8c541fea46 [Qt] rescan progress 2014-05-26 20:02:44 +02:00
Philip Kaufmann
21fe4683e8 [Qt] small cleanup of coincontroldialog 2014-05-26 19:53:20 +02:00
Philip Kaufmann
dac9eb4bcb unified and better log/error messages for CDBEnv/CDB 2014-05-26 19:49:21 +02:00
Manuel Araoz
fa51037024 Add code generating data/sighash.json test data 2014-05-26 19:41:56 +02:00
Manuel Araoz
b43c35599c Add sighash tests from data file 2014-05-26 19:41:48 +02:00
paveljanik
06ce2db0e5 Use new daemon name 2014-05-26 19:37:14 +02:00
Brandon Dahler
c969e6fa09 Wrap create_directory calls in try catch-blocks 2014-05-26 19:34:50 +02:00
Wladimir J. van der Laan
252ece1830 Fix typo in createmultisig help
iCreateMultisig is not a thing.

[Also dogeify it]
2014-05-26 19:26:14 +02:00