Commit graph

5778 commits

Author SHA1 Message Date
Pieter Wuille b58be132c9 Replace DecodeBase58/EncodeBase58 with direct implementation.
This removes the bignum/OpenSSL dependency.

The base58 transformation code is also moved to a separate .cpp file.
2014-04-22 09:30:21 +02:00
Cory Fields b1fdd5475d 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-04-22 00:43:31 -04:00
Cory Fields 90320d6777 script: add additional script tests 2014-04-22 00:32:30 -04:00
Cory Fields 05e3ecffa4 script: remove bignum dependency 2014-04-22 00:32:30 -04:00
Cory Fields 4f497cd97d script: switch outside users to CScriptNum 2014-04-22 00:32:30 -04:00
Cory Fields 27bff74e39 script: switch to CScriptNum usage for scripts 2014-04-22 00:32:30 -04:00
Cory Fields 48d8eb1847 script: add CScriptNum class
This class holds an int64_t and replaces the use of CBigInt for script
integrals.
2014-04-22 00:32:30 -04:00
Wladimir J. van der Laan 4a102fa9d9
Merge pull request #4047
494cbf8 /contrib index reorg (super3)
2014-04-19 09:12:47 +02:00
Wladimir J. van der Laan 8da64ca47e
Merge pull request #4014
4e9667b Improve and expand base58 comments (rxl)
2014-04-19 09:05:42 +02:00
Wladimir J. van der Laan 913e90db9a
Merge pull request #3701
09ec3af AddToWallet implies BindWallet (Wladimir J. van der Laan)
2014-04-19 08:51:40 +02:00
Gregory Maxwell fe451fe944 Merge pull request #4037 from gmaxwell/fdleaks
Prevent socket leak in ThreadSocketHandler.
2014-04-18 15:16:52 -07:00
Wladimir J. van der Laan 55a1db4fa2 Solve chainActive-related locking issues
- In wallet and GUI code LOCK cs_main as well as cs_wallet when
  necessary
- In main.cpp SendMessages move the TRY_LOCK(cs_main) up, to encompass the call
  to IsInitialBlockDownload.
- Make ActivateBestChain, AddToBlockIndex, IsInitialBlockDownload,
  InitBlockIndex acquire the cs_main lock

Fixes #3997
2014-04-18 12:49:41 +02:00
Wladimir J. van der Laan e07c943ce8 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-04-17 16:46:01 +02:00
Wladimir J. van der Laan 2f3308f2d2
Translation update 2014-04
Push new English translation, as well as pull other translations that
changed since last month.
2014-04-17 13:47:14 +02:00
Altoidnerd 61d388d98d Pointed to location of BDB 4.8 in procedure for unix build. 2014-04-16 17:10:27 +02:00
Wladimir J. van der Laan 5a79c65323
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-04-16 16:57:45 +02:00
Wladimir J. van der Laan 31853a1517
Merge pull request #4049
3d20cd5 VERSION obtained from source instead of the previous git tag. (Warren Togami)
2014-04-16 12:04:00 +02:00
Warren Togami 3d20cd5f61 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-04-15 21:48:44 -10:00
Philip Kaufmann d282c1fb64 [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-04-15 11:57:55 +02:00
Wladimir J. van der Laan 74dd52a9fc
qt: remove de_AT translation
Got too many complaints that is was unserious and written by trolls.
I have also removed the translation from transifex.
Fixes #4054 and #3918.
2014-04-14 14:20:40 +02:00
super3 494cbf8350 /contrib index reorg
Cleaner and easier to read.

Reordered by functionality
2014-04-14 01:33:24 -04:00
rxl 4e9667b844 Improve and expand base58 comments
update comments so doxygen will pick them up
2014-04-12 11:36:52 -04:00
Wladimir J. van der Laan 76db4e235d
Merge pull request #3747
b698417 Added Blockchain Bootstraping Tutorial (super3)
2014-04-12 11:18:32 +02:00
super3 b698417fc8 Added Blockchain Bootstraping Tutorial
Per @laanwj request in #3724

Fixing Checkpoints Comment

Fixed Image Paths

Removed requirement.

Update Torrent Links.

Update Links 2

Link would not work.

2 Small Fixes

Changed in to from

@laanwj suggestion on safety
2014-04-12 02:33:58 -04:00
Cory Fields 05c20a553a build: add symbol for upcoming gcc 4.9's libstdc++ 2014-04-11 19:02:01 -04:00
Wladimir J. van der Laan 8562179612
Merge pull request #3912
b1b9c76 Fix bloom filter not to use bit_mask (peryaudo)
2014-04-11 15:13:23 +02:00
Wladimir J. van der Laan 9c749d608f
Merge pull request #4009
7328898 Added instructions for when wrong openssl detected after brew link (olalonde)
2014-04-11 15:11:26 +02:00
Wladimir J. van der Laan e3ce55fddb
Merge pull request #4041
1528397 doc: add note about translations to README.md (Wladimir J. van der Laan)
2014-04-11 15:00:21 +02:00
Wladimir J. van der Laan 1528397135 doc: add note about translations to README.md 2014-04-11 14:52:39 +02:00
Wladimir J. van der Laan f406af3573
Merge pull request #4016
8414cb0 Doxygen-compatible comments in coding style (Wladimir J. van der Laan)
2014-04-11 09:16:24 +02:00
Warren Togami 49a3352c1c gitian-linux: --enable-glibc-back-compat 2014-04-10 22:28:26 -04:00
Cory Fields d5aab70490 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-04-10 22:28:26 -04:00
Cory Fields ffc6b678b9 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-04-10 22:27:09 -04:00
Gregory Maxwell 0bd05b53b1 Correct some proxy related socket leaks. 2014-04-09 17:09:45 -07:00
Wladimir J. van der Laan 4c6cab2c5d
Merge pull request #4033
219b512 doc: update expected intermediate dependency hashes (Wladimir J. van der Laan)
25d4911 gitian: upgrade miniupnpc input to 1.9 (Wladimir J. van der Laan)
2014-04-09 19:57:54 +02:00
Gregory Maxwell d20791b0e5 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-04-09 09:30:36 -07:00
Wladimir J. van der Laan 20ecf5c27d
Merge pull request #4024
ab64381 Fix a typo in RPC signrawtransaction help (Hector Jusforgues)
2014-04-09 16:25:24 +02:00
Eric S. Bullington 0f63504463 Changed bitrpc.py's raw_input to getpass for passwords to conceal characters during command line input. Getpass is in Python stdlib so no additional dependencies required. 2014-04-09 10:01:47 -04:00
Wladimir J. van der Laan 85bba09bfd
Merge pull request #4031
f3f2cb7 doc: remove versions from build-unix.md, just refer to release-process.md (Wladimir J. van der Laan)
2014-04-09 15:52:48 +02:00
Wladimir J. van der Laan 219b512d72 doc: update expected intermediate dependency hashes
Also move them to release-process.md from gitian-building.md for more
visibility.
2014-04-09 15:40:29 +02:00
Luke Dashjr c0e0b05aec Bugfix: configure: Look in libx32 subdirectory for boost libraries 2014-04-09 12:59:17 +00:00
Wladimir J. van der Laan 25d4911e86 gitian: upgrade miniupnpc input to 1.9
Bumps deps-linux, deps-win dependency versions as well.

qt-win does not need to be bumped, as although it depends on deps-win,
Qt doesn't use miniupnp. I verified this by rebuilding the dependency
and checking the the output is the same. Not having to rebuild Qt is a
good thing as it is huge.
2014-04-09 14:24:17 +02:00
Wladimir J. van der Laan f3f2cb736d doc: remove versions from build-unix.md, just refer to release-process.md
No one bothers to keep this up to date.
Better to refer to another file than give wrong information.
2014-04-09 12:49:49 +02:00
Wladimir J. van der Laan 06d1fc6112
Merge pull request #4020
71f82bf Restart-warning for spendZeroConfChange option (langerhans)
2014-04-09 10:34:31 +02:00
Hector Jusforgues ab643811ea Fix a typo in RPC signrawtransaction help 2014-04-08 22:53:41 +07:00
Wladimir J. van der Laan 178825dec3
gitian: Version bump for Qt dependency
Bump Qt dependency version after OpenSSL update.
Very important. Thanks @michagogo for noting.
2014-04-08 11:51:59 +02:00
Wladimir J. van der Laan fa2b42533a
Merge pull request #4023
4a811b0 gitian: upgrade openssl to 1.0.1g for both win and linux (Wladimir J. van der Laan)
2014-04-08 10:56:01 +02:00
Wladimir J. van der Laan dac4e2aebd
Merge pull request #3914
ddcd1af gitian: add statically built variant of bitcoind/bitcoin-cli (Wladimir J. van der Laan)
2014-04-08 10:55:34 +02:00
Wladimir J. van der Laan a7101b13f7
Merge pull request #4019
13a2283 build: Sync ax_boost_base.m4 with upstream. (Cory Fields)
2014-04-08 10:24:26 +02:00
Wladimir J. van der Laan e448959dfb
Merge pull request #4022
633bb8b Fixes the broken image in the Gitian Build Guide (Michael Ford)
2014-04-08 10:24:00 +02:00