Commit Graph

4317 Commits

Author SHA1 Message Date
evan82
61b84c9dd7 Merge pull request #132 from UdjinM6/fix_crash_coinsview
Catch UTXO set read errors and shutdown
2015-01-26 15:46:13 -07:00
Evan Duffield
71e074336b Update dseg limitations
vecMasternodes.size() == 0 is a nearly impossible condition due to the behavior
of dseep. Each time a node receives a ping where it's unaware of the masternode
it will ask for the dsee from it's peer.
-        if(c % 5 == 0 && (RequestedMasterNodeList <= 2 || vecMasternodes.size()
+        if(c % 5 == 0 && RequestedMasterNodeList < 3){
2015-01-26 11:03:36 -07:00
UdjinM6
144b24bee5 more fixes/cleanup/debug output to DS mixing 2015-01-26 00:18:26 +03:00
UdjinM6
9a4fac6bb6 fixing pre-mix process of creation denominated amounts 2015-01-25 02:57:55 +03:00
UdjinM6
aa544887d7 ported from 13cdce4336 2015-01-24 20:31:19 +03:00
Evan Duffield
385c532df8 Updated checkpoints 2015-01-24 07:51:34 -07:00
Evan Duffield
90ad641d39 Check pindexBestForkBase/phashBlock both for null 2015-01-23 13:44:25 -07:00
Evan Duffield
3b140b22d7 version bump 2015-01-23 07:56:30 -07:00
Evan Duffield
935ab9e252 Merge branch 'master' of https://github.com/darkcoin/darkcoin 2015-01-23 07:48:52 -07:00
Evan Duffield
26ebf1d7cb Fixed segfault causes by coins view 2015-01-23 07:48:39 -07:00
evan82
f3710ec4de Merge pull request #130 from UdjinM6/fix_mn_payments_percent_schedule_comments
fix mn payment comment - blocknumbers / new dates according to stats from last 50k blocks
2015-01-23 06:59:00 -07:00
evan82
782bcc6850 Merge pull request #129 from UdjinM6/fix_cmdline_help
add missing DS/MN/IX options descriptions in help output
2015-01-23 06:54:47 -07:00
evan82
05f511f740 Merge pull request #128 from UdjinM6/fix_allow_masternode_in_safemode
allow masternode commands execution while client is in safemode
2015-01-23 06:54:23 -07:00
UdjinM6
d7bd499722 fix mn payment comment - blocknumbers / new dates according to stats from last 50k blocks 2015-01-23 16:37:58 +03:00
Evan Duffield
7e087dadb9 Merge branch 'master' of https://github.com/darkcoin/darkcoin 2015-01-23 06:29:27 -07:00
Evan Duffield
3aa0a68e00 Check pindexBestForkBase->phashBlock for NULL reference 2015-01-23 06:29:06 -07:00
UdjinM6
bf312bcead add missing DS/MN/IX options descriptions in help output 2015-01-22 19:31:52 +03:00
UdjinM6
2dc22e9dbe allow masternode commands execution while client is in safe mode 2015-01-22 17:26:29 +03:00
UdjinM6
ed49131f96 fix dseg messaging / banning issue 2015-01-22 03:04:52 +03:00
Evan Duffield
70eb4efd2f fixed 2015-01-21 16:12:04 -07:00
Evan Duffield
0918dab39b fixed "masternode start" for remote masternodes after start 2015-01-21 14:57:02 -07:00
Evan Duffield
e6a937196d version & protocol bump 2015-01-21 08:03:14 -07:00
Darkcoin
8f88c50035 Merge pull request #126 from UdjinM6/fix_ds_toggle_unlock
fix unlocking wallet on ds toggle event
2015-01-21 08:00:40 -07:00
Darkcoin
6ef9ba118b Merge pull request #125 from UdjinM6/fix_ds_incorrect_txes
Fix incorrect DS txes + few small things including some cleanup / debugging
2015-01-21 08:00:01 -07:00
Evan Duffield
2c8d7299d7 Merge branch 'master' of https://github.com/darkcoin/darkcoin 2015-01-21 07:57:39 -07:00
Evan Duffield
78fe35f06d Implemented DarkSend convertability
Darksend defaults to a new mode which enables inputs/outputs
of each session to be different. For example 10DRK can be input
and 1DRKx10 can be output. This strengthens the anonymity of
Darksend greatly, which also increasing the usability (Users who
run out of .1DRK denominations can simply turn on Darksend to
split up larger inputs).
2015-01-21 07:55:21 -07:00
UdjinM6
da96ad5063 fix unlocking wallet on ds toggle - should just check for passphrase here and then use the same conditions as unencrypted 2015-01-21 09:29:09 +03:00
UdjinM6
c91b5202b7 fix ds incorrect txes issue / lowestDenom logic / styling 2015-01-21 09:09:04 +03:00
Darkcoin
625e29334d Merge pull request #110 from vertoe/devel-0.9-tools
Creat a tools menu with info, console and network items.
2015-01-20 14:34:13 -07:00
Evan Duffield
bbd869589c Collateral issues / Exact denoms / Disabled denoms
- When attempting to connect to a masternode for submission into the pool a recursive call to DoAutoDenominate was used. This could possibly take more than 1 minute to complete if it found a string of bad masternodes, in which case the correct masternode was overwritten and replaced with an invalid one. Upon submission, the DS TX was given to the incorrect node causing collateral to be charged.
- To fix this I've removed the recursion and added a critical section to DoAutoDenominate.
- Exact input denominations are matched in PrepareDarksendDenominate to remove the possibility of having change in the pool
- Removed disabled denominations, not needed anymore
2015-01-20 10:33:52 -07:00
Evan Duffield
3322b029ec replaced IsInitialBlockDownload with more basic/faster check 2015-01-20 03:39:04 -07:00
Evan Duffield
47bb25d853 disable checktimeout when disabled 2015-01-20 03:32:32 -07:00
Evan Duffield
678a43c35b disable reference node code when key is not present 2015-01-20 03:02:11 -07:00
Evan Duffield
b40bfacb55 improved anonymity for smaller wallets 2015-01-20 02:42:15 -07:00
Evan Duffield
31215c3a63 print lite mode status in log 2015-01-20 02:10:57 -07:00
Evan Duffield
bbc44f415f lite mode disable checks on block 2015-01-20 02:08:26 -07:00
Evan Duffield
2737edbbf3 Removed non-denomational inputs (UdjinM6)
Exact amounts are now allocated directly to denominated
funds then submitted to the pool. This improves anonymity
by never having non-denomination inputs enter or exit the pool.
Randomness has also been added to the amount of each session to
improve anonymity.
2015-01-19 20:12:10 -07:00
Evan Duffield
b7f436bb5c version bump 2015-01-19 09:25:13 -07:00
vertoe
40a11fbc6b merge downstream 0.11.0 2015-01-19 10:04:24 +01:00
Evan Duffield
6dd7e0f1ce corrected getblocktemplate coinbasevalue output 2015-01-18 12:49:47 -07:00
Evan Duffield
908b105ded Merge branch 'master' of https://github.com/darkcoin/darkcoin 2015-01-18 08:29:35 -07:00
Evan Duffield
539a8683a4 Added LiteMode
LiteMode disables Darksend/Masternodes/InstantX for clients
who want speed and don't need access to these features. UI
for Darksend is also hidden while in this mode.
2015-01-18 08:28:16 -07:00
Darkcoin
b5e4d58e96 Merge pull request #118 from freynder/keepass
Cleaned up debug log and adhere to coding conventions
2015-01-18 08:11:30 -07:00
Francis Reynders
f0450ab022 Cleaned up debug log and set curly braces according to coding conventions
- write to debug log only when debug option is specified
- do not log communication data that can contain secure information
- use newinline for curly braces according to coding conventions
2015-01-18 15:59:41 +01:00
Darkcoin
daab1083cf Merge pull request #116 from UdjinM6/110x_ds_fix2
110x ds fix2
2015-01-18 07:40:45 -07:00
UdjinM6
0a7f74ea13 fix low res of icns 2015-01-17 02:11:32 +03:00
Evan Duffield
b329a2f19b version bump 2015-01-16 14:00:48 -07:00
vertoe
333d5ae781 Creat a tools menu with info, console and network items. 2015-01-16 10:55:24 +01:00
UdjinM6
33a7c539ba another attempt to simplify ds and fix some issues 2015-01-15 17:41:56 +03:00
vertoe
60b6ef59dd Mix 8 rounds default. 2015-01-15 13:45:03 +01:00
vertoe
afa587176c Fix typos. 2015-01-15 13:27:46 +01:00
vertoe
0a1d09aeff Adapt BIP44 coin type 5 for Darkcoin (placeholder). 2015-01-15 12:55:50 +01:00
vertoe
389ff61339 merge downstream 0.11 2015-01-15 12:42:28 +01:00
vertoe
b8e53a337c merge devel-0.9 2015-01-15 12:40:25 +01:00
vertoe
c664137c9a Use display unit instead of hardcoded DRK for darksend settings and set max to 16 rounds 2015-01-15 12:38:03 +01:00
vertoe
fb312b0cd3 Use display unit instead of hardcoded DRK for darksend hint 2015-01-15 12:20:09 +01:00
vertoe
a80da619a7 Use display unit instead of hardcoded DRK for darksend warning 2015-01-15 12:15:01 +01:00
vertoe
36acf7e57a Use display unit instead of hardcoded DRK for darksend settings 2015-01-15 12:07:00 +01:00
vertoe
e6ce27defd Update copyright year 2015 2015-01-15 11:31:35 +01:00
Evan Duffield
7a1f2192a7 Fixed UI update bug 2015-01-14 10:16:48 -07:00
Evan Duffield
8038fdfcff Rounds calculation stopped at 8 2015-01-14 07:52:43 -07:00
Evan Duffield
1dea6cb2cc Rounds calculation stopped at 8 2015-01-14 07:50:40 -07:00
Evan Duffield
201b3fb77e Fixed performance issues with --reindex 2015-01-14 07:28:35 -07:00
Evan Duffield
cf6ecddf21 updated mac icons 2015-01-13 12:39:52 -07:00
Evan Duffield
cd5c755428 Coinbase Maturity / cleanup 2015-01-13 10:58:24 -07:00
Evan Duffield
0739536ec0 windows compilation fix 2015-01-13 07:08:58 -07:00
Evan Duffield
88d1e63f72 changed max rounds to 16 2015-01-12 13:07:48 -07:00
Evan Duffield
4ab6c5d6da Fixed masternode payments issue 2015-01-12 12:05:20 -07:00
Darkcoin
984c923ac5 Merge pull request #106 from vertoe/devel-0.9
OpenSSL 1.0.1k handling of DER signatures
2015-01-12 10:54:32 -07:00
Darkcoin
44bb7c809a Merge pull request #105 from UdjinM6/110x_fix_mn_conf_read
"path" argument isn't used in masternode conf read function
2015-01-12 10:52:56 -07:00
Darkcoin
3dcdfc6ff2 Merge pull request #96 from freynder/keepass
Implemented KeePass Integration
2015-01-12 10:52:07 -07:00
Evan Duffield
76ab102ff7 Various fixes for 11.0.5
-Darksend balance shows sendable amount now.
-Fixed "darksend is disabled" inaccurate message
-Fixed crashing on -reindex and -gen
2015-01-12 10:04:28 -07:00
vertoe
4269e16f0d merge downstream 0.11.x 2015-01-12 16:04:47 +01:00
Evan Duffield
5c16596b01 Fixed darksend balance update on click 2015-01-12 07:10:38 -07:00
Evan Duffield
7098126b52 Fix for random segfaultfrom Masternode::Check 2015-01-12 06:58:33 -07:00
vertoe
daf9018b7f merge upstream 0.9.4 2015-01-12 11:08:50 +01:00
Wladimir J. van der Laan
be8ac71d96
Bump version to 0.9.4 2015-01-12 10:33:39 +01:00
Wladimir J. van der Laan
f6b753912b
qt: Pull updated translations from Transifex 2015-01-12 10:17:54 +01:00
Wladimir J. van der Laan
037bfefe6b
Improve robustness of DER recoding code
Add some defensive programming on top of #5634.

This copies the respective OpenSSL code in ECDSA_verify in
OpenSSL pre-1.0.1k (e.g. https://github.com/openssl/openssl/blob/OpenSSL_1_0_1j/crypto/ecdsa/ecs_vrf.c#L89)
more closely.

As reported by @sergiodemianlerner.

Github-Pull: #5640
Rebased-From: c6b7b29f23
2015-01-12 09:28:24 +01:00
vertoe
ebb7eab77d Merge downstream v0.11.0.x 2015-01-12 07:45:47 +01:00
vertoe
928613c03c merge branch '0.9' of https://github.com/bitcoin/bitcoin into devel-0.9 2015-01-12 07:42:34 +01:00
Evan Duffield
560cf0e7a0 Merge branch 'v0.11.0.x' of https://github.com/darkcoin/darkcoin into v0.11.0.x 2015-01-11 11:01:31 -07:00
Evan Duffield
f1e2c1e031 Fix Masternode::Check() Segfault
Client crashes about every 24h on mainnet (with lots of masternodes)
and very rarely on testnet. AcceptableInputs has no need to check
HaveCoins as AcceptToMemoryPool does and would rarely cause the
segfault to occur.
2015-01-11 10:59:36 -07:00
Darkcoin
f8c907d806 Merge pull request #104 from UdjinM6/110x_dsbalance
add darksend balance to getinfo
2015-01-11 10:56:45 -07:00
UdjinM6
560b06fc38 no need to get conf file in function call 2015-01-11 20:28:28 +03:00
Wladimir J. van der Laan
60c51f1c38
fail immediately on an empty signature
Github-Pull: #5634
Rebased-From: 8dccba6a45
2015-01-10 08:58:47 +01:00
Cory Fields
b8e81b7ccd
consensus: guard against openssl's new strict DER checks
New versions of OpenSSL will reject non-canonical DER signatures. However,
it'll happily decode them. Decode then re-encode before verification in order
to ensure that it is properly consumed.

Github-Pull: #5634
Rebased-From: 488ed32f2a
2015-01-10 08:31:14 +01:00
Evan Duffield
6814d137fd check ports in masternode.conf 2015-01-09 12:45:41 -07:00
Evan Duffield
c1fde4da39 version bump - 11.4 2015-01-08 15:22:33 -07:00
Evan Duffield
a3416f9441 fixed display issues for Darksend transaction 2015-01-08 15:21:05 -07:00
Evan Duffield
6bd5ec15b3 Unlock coins when using Darksend reset button 2015-01-08 14:16:17 -07:00
Evan Duffield
e73403b5ac Merge branch 'v-1.11.0.x' of https://github.com/darkcoin/darkcoin into v0.11.0.x 2015-01-08 14:11:41 -07:00
Evan Duffield
9ad42576e9 schedule masternode payments to turn on 1/9/2015 2015-01-08 14:11:05 -07:00
UdjinM6
eb7abd8ba7 add darksend balance to getinfo 2015-01-08 21:19:39 +01:00
Darkcoin
4a6d17ef18 Merge pull request #103 from crowning-/patch-3
Non-void function should always return something.
2015-01-08 11:12:37 -07:00
Evan Duffield
caa4fc37af Updated getblocktemplate for mining support 2015-01-08 11:02:10 -07:00
Evan Duffield
3c553cc4a7 Fixed start-many issue with multiple output tx
masternode.conf was broken when any index other than 0 was
used. This fixes it and allows the correct input to be selected
and the masternode to be started successfully.
2015-01-08 09:05:59 -07:00
crowning-
371a16a924 Non-void function should always return something. 2015-01-06 22:05:39 +01:00
Evan Duffield
6df70d30b1 Fixed progress bar / Improve GetDenominatedBalance
- Fixed a few issues when calculating progress including some variables that should be limited to 1 (a and b). GetDenominatedBalance also seemed to be giving bad results so I rewrote it to be cleaner, not sure if that was a part of the problem.
- Progress bar is only recalculated when all inputs in wallet have been confirmed (will stop the progress from jumping around)
2015-01-02 15:20:30 -07:00
Evan Duffield
8ab351a594 configure.ac version bump and documentation 2015-01-02 11:45:40 -07:00
Evan Duffield
12bac4a862 gitian changes, tooltips and version bump 2015-01-02 09:54:13 -07:00
Evan Duffield
58b8f19d2d updated to v2 2015-01-02 08:35:31 -07:00
Darkcoin
ec6877bd18 Merge pull request #98 from vertoe/devel-0.9
Update pixmaps
2015-01-02 08:31:44 -07:00
Evan Duffield
899063acf8 Fixed windows crashing issues
Crash was caused by Params() usage in CDarkSendPool::CDarkSendPool upon wallet start. I've moved init of the collateral address outside of the class to CDarkSendPool.InitCollateralAddress() instead.
2015-01-02 07:49:44 -07:00
vertoe
295b7294e6 Update wallet name to Darkcoin 2015-01-02 14:58:25 +01:00
crowning-
6a93a7c47b Exclude localnet addresses
127.0.0.* addresses shouldn't show up in "masternode list"
2015-01-01 20:18:23 +01:00
Francis Reynders
bdb50539de Implemented KeePass Integration
More info regarding KeePass: http://keepass.info/

KeePass integration will use KeePassHttp (https://github.com/pfn/keepasshttp/) to facilitate communications between the client and KeePass. KeePassHttp is a plugin for KeePass 2.x and provides a secure means of exposing KeePass entries via HTTP for clients to consume.

The implementation is dependent on the following:
- crypter.h for AES encryption helper functions.
- rpcprotocol.h for handling RPC communications. Could only be used partially however due some static values in the code.
- OpenSSL for base64 encoding. regular util.h libraries were not used for base64 encoding/decoding since they do not use secure allocation.
- JSON Spirit for reading / writing RPC communications

The following changes were made:
- Added CLI options in help
- Added RPC commands: keepass <genkey|init|setpassphrase>
- Added keepass.h and keepass.cpp which hold the integration routines
- Modified rpcwallet.cpp to support RPC commands

The following new options are available for darkcoind and darkcoin-qt:
  -keepass               Use KeePass 2 integration using KeePassHttp plugin (default: 0)
  -keepassport=<port>    Connect to KeePassHttp on port <port> (default: 19455)
  -keepasskey=<key>      KeePassHttp key for AES encrypted communication with KeePass
  -keepassid=<name>      KeePassHttp id for the established association
  -keepassname=<name>    Name to construct url for KeePass entry that stores the wallet passphrase

The following rpc commands are available:
- keepass genkey: generates a base64 encoded 256 bit AES key that can be used for the communication with KeePassHttp. Only necessary for manual configuration. Use init for automatic configuration.
- keepass init: sets up the association between darkcoind and keepass by generating an AES key and sending an association message to KeePassHttp. This will trigger KeePass to ask for an Id for the association. Returns the association and the base64 encoded string for the AES key.
- keepass setpassphrase <passphrase>: updates the passphrase in KeePassHttp to a new value. This should match the passphrase you intend to use for the wallet. Please note that the standard RPC commands walletpassphrasechange and the wallet encrption from the QT GUI already send the updates to KeePassHttp, so this is only necessary for manual manipulation of the password.

Sample initialization flow from darkcoin-qt console (this needs to be done only once to set up the association):
- Have KeePass running with an open database
- Start darkcoin-qt
- Open console
- type: "keepass init" in darkcoin-qt console
- (keepass pops up and asks for an association id, fill that in). Example: mydrkwallet
- response: Association successful. Id: mydrkwalletdarkcoin - Key: AgQkcs6cI7v9tlSYKjG/+s8wJrGALHl3jLosJpPLzUE=
- Edit darkcoin.conf and fill in these values
    keepass=1
    keepasskey=AgQkcs6cI7v9tlSYKjG/+s8wJrGALHl3jLosJpPLzUE=
    keepassid=mydrkwallet
    keepassname=testwallet
- Restart darkcoin-qt

At this point, the association is made. The next action depends on your particular situation:
- current wallet is not yet encrypted. Encrypting the wallet will trigger the integration and stores the password in KeePass (Under the 'KeePassHttp Passwords' group, named after keepassname.
- current wallet is already encrypted: use "keepass setpassphrase <passphrase>" to store the passphrase in KeePass.

At this point, the passphrase is stored in KeePassHttp. When Unlocking the wallet, one can use keepass as the passphrase to trigger retrieval of the password. This works from the RPC commands as well as the GUI.
2015-01-01 20:06:24 +01:00
Evan Duffield
4eb14d271b Change minversion to 70046 2015-01-01 11:15:24 -07:00
vertoe
9cc07aec1c Hotfix for version.h 2015-01-01 19:03:25 +01:00
Evan Duffield
f46ec0db80 Change minversion to 70046 2015-01-01 10:46:18 -07:00
Evan Duffield
447ae896c0 Merge branch 'v0.11.0.x' of https://github.com/darkcoin/darkcoin into v0.11.0.x 2015-01-01 09:12:53 -07:00
Evan Duffield
b87c2fe9dc Fix for gitian windows compiling 2015-01-01 09:12:28 -07:00
Darkcoin
c1269e7850 Merge pull request #92 from vertoe/devel-0.9
Update darkcoin units to tDRK if TestNet().
2015-01-01 07:49:58 -07:00
Darkcoin
a29b991091 Merge pull request #93 from vertoe/devel-0.9-bip0032
Update BIP32 base58 address prefixes to darkcoin uniques.
2015-01-01 07:49:12 -07:00
vertoe
024e255a5b Update BIP32 base58 address prefixes to darkcoin uniques. 2014-12-31 13:50:14 +01:00
vertoe
54f54f4a67 Update darkcoin units to tDRK if TestNet(). 2014-12-31 13:27:32 +01:00
Evan Duffield
d219a6c51a randomly sort masternodes before picking next winner 2014-12-30 22:45:45 -07:00
Evan Duffield
bc20787fec Added perfectly balanced masternode payments
- Implemented using a simple round robin algorithm instead of the deterministic round robin approach (was slightly unbalanced)
2014-12-30 22:40:53 -07:00
Evan Duffield
826b18c41f Regtest+Darksend / Dsee update / vecMasternodes
- Made masternodes/darksend compatible with regression testing mode (a local-only blockchain that doesn't require mining). Developers can now test multiple rounds in a few minutes without waiting on mining (much faster).
- Added dsee security verification to v11
- darkSendMasternodes -> vecMasternodes (must clearer)
2014-12-30 19:54:00 -07:00
Evan Duffield
a290bc06f2 Further improvements to the matching engine 2014-12-30 15:42:50 -07:00
Evan Duffield
80144a47ab Disable local addresses 2014-12-30 14:41:28 -07:00
Evan Duffield
75b169e2aa Simplified CWallet::PrepareDarksendDenominate 2014-12-30 14:00:19 -07:00
Evan Duffield
141f833a00 Matching engine improvements
Fixed issues with matching from rounds 0 to 2
2014-12-30 12:42:34 -07:00
Evan Duffield
aa63a99162 Percision matching engine / masternode regtest
- Fixed matching engine issue causing false positive non-denominational matches
- Basic masternode support for regtest (still not working)
2014-12-30 11:14:58 -07:00
Evan Duffield
b20581125d Added Darksend high precision matching engine
Darksend is now capable of taking queue objects (which show who wants to mix what)
and looking at it's own inputs to see if it's at all possible to join their mixing
session. This plus other improvements should make Darksend much faster for mixing
coins.
2014-12-29 17:09:34 -07:00
Evan Duffield
762080140b Various Darksend Improvements
- Denomination label shows n/a after reset now
- Fixed collateral checking bug introduced by updating to Bitcoin v9 codebase
2014-12-29 08:50:40 -07:00
Evan Duffield
139f14a1a4 Enabled Darksend NewBlock checks 2014-12-28 17:33:56 -07:00
Evan Duffield
afcc015cf4 Report errors delivered via dssu to gui 2014-12-28 07:46:39 -07:00
Evan Duffield
34a60fb7de Much improved feedback for Darksend
DoAutoDenomination just wrote to the debug.log and because of that users commonly would have a hard time seeing what was happening. This fixes that by setting a status and displaying that status in the overview.
2014-12-27 18:08:45 -07:00
Evan Duffield
3acb5c6388 added denomination information to overview, reset/try again buttons 2014-12-27 16:45:07 -07:00
Evan Duffield
ff8285060d Merge branch 'v0.11.0.x' of https://github.com/darkcoin/darkcoin into v0.11.0.x 2014-12-27 08:28:47 -07:00
Evan Duffield
36aa6bd675 fixed message magic, should be DarkCoin 2014-12-27 08:28:23 -07:00
UdjinM6
142ff7a3ab restrict start if masternode.conf has incorrect format / move error message out of debug.log to stderr/qt-dialog 2014-12-27 15:47:08 +03:00
vertoe
ab52409f0e Merge branch 'v0.11.0.x' of https://github.com/darkcoin/darkcoin into devel-0.9 2014-12-27 00:55:52 +01:00
vertoe
86cc5d35cc Update client name 2014-12-27 00:54:59 +01:00
vertoe
2a4e872364 Change orange to blue 2014-12-27 00:54:25 +01:00
vertoe
d2d798c9b0 Merge branch 'devel-0.9-keys' into devel-0.9 2014-12-27 00:33:22 +01:00
vertoe
bdaa900bbe Update strings in UI. 2014-12-27 00:16:50 +01:00
Darkcoin
dc71c6df25 Merge pull request #85 from vertoe/devel-0.9-keys
Change pubkey addresses for multisig addresses and testnet.
2014-12-26 16:00:14 -07:00
Evan Duffield
13e49d5470 Merge branch 'v0.11.0.x' of https://github.com/darkcoin/darkcoin into v0.11.0.x 2014-12-26 15:30:20 -07:00
Evan Duffield
c94600a2c8 Added coincontrol darksend rounds colunm from v10 2014-12-26 15:30:00 -07:00
vertoe
fd3de20a88 Change pubkey addresses for multisig addresses and testnet 2014-12-26 23:28:08 +01:00
Darkcoin
cbf7339deb Merge pull request #84 from vertoe/devel-0.9-dns
Add seednode by @coingun (branch v11)
2014-12-26 14:11:41 -07:00
Darkcoin
04ab85a591 Merge pull request #83 from vertoe/devel-0.9
Clean testnet reset to v3. (branch v11)
2014-12-26 14:10:12 -07:00
Darkcoin
766e654e42 Merge pull request #81 from UdjinM6/110_fix_regtesterror_testnetdetect
fix crash on regtest block generation / slightly simplify _if_ for testnet detection
2014-12-26 14:05:46 -07:00
Evan Duffield
12e8fd0461 Improved support for adding DRK after anon has completed 2014-12-26 14:04:36 -07:00
vertoe
c7bbff80ba Add masternode.io dnsseed operated by @coingun 2014-12-26 21:32:11 +01:00
vertoe
b0f06bf4a8 Merge upstream commits of branch 'v0.11.0.x' of darkcoin/darkcoin into devel-0.9 2014-12-26 21:26:05 +01:00
vertoe
71f3d6eb06 revert 4f95ea2: testnet v4 2014-12-26 21:23:25 +01:00
Evan Duffield
f2c21fd1e7 Better support for non-specific masternode payments 2014-12-26 13:14:45 -07:00
Evan Duffield
0718f75a84 Fixed possible masternode payments exploit 2014-12-26 13:12:58 -07:00
Evan Duffield
3117b7d5f9 Merge branch 'v0.11.0.x' of https://github.com/darkcoin/darkcoin into v0.11.0.x 2014-12-26 13:02:49 -07:00
Evan Duffield
7fad12f623 Various Improved Darksend
- Progress bar is far more accurate now. It only takes into account the inputs that could possibly go into Darksend and ignores the rest.
- Darksend can support down to 1.5DRK now.
- New "masternode outputs" command for start-many
2014-12-26 13:00:56 -07:00
Darkcoin
9b710d2a86 Merge pull request #82 from UdjinM6/110_select_nondenom_first
when Darksend is unchecked select nondenom inputs first - for v0.11.0.x
2014-12-26 12:51:47 -07:00
Evan Duffield
80d2e3d067 Fixed progress bar calculation
division for amounts smaller than 1DRK were having issues.
fixed by dividing by CENT instead.
2014-12-26 08:39:47 -07:00
Evan Duffield
31ca8ad5f9 reducing lower limit to 1.5DRK 2014-12-25 20:58:58 -07:00
Evan Duffield
5eb3bcdcc0 Fixed darksend issues 2014-12-25 12:21:35 -07:00
Evan Duffield
039023d9c9 fixed Darksend settings 2014-12-25 11:20:18 -07:00
Evan Duffield
7604ace9be Updated testnet configuration 2014-12-23 18:41:13 -07:00
Evan Duffield
8bc9cd7f48 fix testnet v3 2014-12-23 08:32:55 -07:00
UdjinM6
ae627a2109 fix crash(error thrown) on regtest block generation / slightly simplify _if_ for testnet detection 2014-12-23 06:17:20 +03:00
UdjinM6
f77b2d5943 when Darksend is unchecked select nondenom inputs first - for v11 2014-12-23 06:06:47 +03:00
Evan Duffield
67330fbb51 Added Darksend to v11 2014-12-22 19:30:19 -07:00
Evan Duffield
692ec7c328 Fix mn spam - UdjinM6 2014-12-22 18:23:04 -07:00
Evan Duffield
560bf9bc0b Fix status update (darksend mixing stuck - UdjinM6) 2014-12-22 18:17:47 -07:00
Francis Reynders
b57bfe0b1e Fixed lookup for correct vin in GetMasterNodeVin when txHash is available. 2014-12-16 18:45:43 +01:00
evan82
3a7f3f8dba Merge pull request #72 from UdjinM6/110x_fix_sending_locking
fix wallet locking after sending coins
2014-12-14 07:49:38 -07:00
Francis Reynders
55cae78c3b Improve support for start-many:
- refactored CActiveMasternode
- added masternodeconfig to handle remote masternode configuration
- read masternodeconfig upon init
- new masternode rpc commands: stop-many, start-alias, stop-alias, list-conf
- added notCapableReason field for better handling not capable issues
2014-12-14 06:06:39 +01:00
Evan Duffield
d3a5569807 Merge branch 'v-1.11.0.x' of https://github.com/darkcoin/darkcoin into v0.11.0.x 2014-12-13 08:18:20 -07:00
Evan Duffield
64de16ed10 prevent testnet from rejecting blocks missing masternode payments 2014-12-13 08:17:32 -07:00
crowning-
6b8fb97182 On client shutdown write directly into "peers.dat"...
...and not into a temporary file which gets renamed to "peers.dat" later.
This prevents softlinks from being replaced by a "real" file, see http://jira.darkcoin.qa/browse/DRK-122

Update of https://github.com/darkcoin/darkcoin/pull/63 to the new Bitcoin codebase.
2014-12-13 15:52:57 +01:00
Evan Duffield
5d14e8c6b3 Fixed testnet syncing issues 2014-12-12 15:19:02 -07:00
Evan Duffield
d87e4e6b55 Fixed testnet segfault issue causes by null pointer 2014-12-12 11:45:05 -07:00
UdjinM6
9db0eaa9b3 fix wallet locking after sending coins 2014-12-12 21:10:38 +03:00
vertoe
6e208f6625 Merge strings. 2014-12-12 13:00:21 +01:00
vertoe
adbd2274e0 Update strings. 2014-12-12 12:44:25 +01:00
donSchoe
c2cf2fb44c Align with branch v0.11.0.x of darkcoin/darkcoin. 2014-12-11 22:46:43 +01:00
Evan Duffield
0184cf744d Merged: fix CDarksendQueue::CheckSignature() failure by preventing COutPoint::ToString() to cut hash to 10 symbols only (UdjinM6) 2014-12-11 12:27:55 -07:00
Evan Duffield
56bf9fdb75 Fixed attribution and a few Bitcoin references 2014-12-11 12:10:05 -07:00
UdjinM6
43b2576253 fix walletpassphrase logic/params/description 2014-12-11 21:43:21 +03:00
Evan Duffield
9aac2038f1 Merged: Error message changed (crowning) 2014-12-11 09:01:39 -07:00
Evan Duffield
2a33377fc8 Merged: Typo in log output (crowning) 2014-12-11 08:58:38 -07:00
Evan Duffield
eb87b05ddf Brought over 10.18 changes from old branch 2014-12-11 08:36:02 -07:00
Evan Duffield
78c5ca53f6 Merged in Darksend/InstantX/Masternodes
This doesn't include any of the changes in the darkcoin/v0.10.18.x branch. Those will be brought over into this commit history.
2014-12-11 08:10:35 -07:00
vertoe
c1aae9e3bd Change init resource to darkcoin 2014-12-11 14:29:22 +01:00
UdjinM6
80c4636840 fix test_bitcoin -> test_darkcoin 2014-12-11 14:20:10 +01:00
UdjinM6
91795c25b1 fix broken build (UdjinM6) 2014-12-11 14:07:31 +01:00
vertoe
6662300900 Change sources to darkcoin*. 2014-12-10 00:35:43 +01:00
vertoe
8fbde6cfeb Update rpc strings. 2014-12-10 00:22:01 +01:00
vertoe
6089696ade Merge bitcoin core upstream commits 2014-12-09 23:42:56 +01:00
vertoe
e449d7b4e7 Change binaries to darkcoin*. 2014-12-09 23:38:13 +01:00
vertoe
828b6d38a1 Update strings. 2014-12-09 23:19:26 +01:00
Gregory Maxwell
0a94661e8d
Disable SSLv3 (in favor of TLS) for the RPC client and server.
TLS is subject to downgrade attacks when SSLv3 is available, and
 SSLv3 has vulnerabilities.

The popular solution is to disable SSLv3. On the web this breaks
 some tiny number of very old clients. While Bitcoin RPC shouldn't
 be exposed to the open Internet, it also shouldn't be exposed to
 really old SSL implementations, so it shouldn't be a major issue
 for us to disable SSLv3.

There is more information on the downgrade attacks and disabling
 SSLv3 at https://disablessl3.com/ .

Rebased-From: 683dc4009b
2014-12-09 15:22:28 +01:00
Pieter Wuille
bb424e4447
Limit the number of new addressses to accumulate
Rebased-From: 12a49cac0a
2014-12-09 15:17:21 +01:00
vertoe
8003eb484e Fix internal wallet miner. 2014-12-06 22:56:38 +01:00
vertoe
6723c9ea10 Update private key versions. 2014-12-06 16:42:40 +01:00
vertoe
601457c2fe Change Darkcoin units to DRK and added duffs. 2014-12-05 10:09:38 +01:00
vertoe
4f95ea2ada Reset testnet (v4). 2014-12-05 09:25:30 +01:00
vertoe
4fca7b4677 Update branding to reflect this is a Darkcoin client. 2014-12-04 23:32:21 +01:00
vertoe
dcf8cb6cb5 Define regression test genesis. 2014-12-04 22:24:59 +01:00
vertoe
f8105535fe Fix DGW v1 and v2 architecture issues. 2014-12-04 14:33:48 +01:00
vertoe
5a77c79d24 Fix testnet checkpoint. 2014-12-04 13:21:33 +01:00
vertoe
3d65ce730c Update difficulty retarget to KGW and DGWv3. 2014-12-04 12:47:48 +01:00
vertoe
a63a38bed1 Update strings. 2014-12-04 12:47:16 +01:00
vertoe
311ee3ee74 Prepare KGW and DGWv3 implementation. 2014-12-02 12:43:06 +01:00
vertoe
41f1535135 Bump client and wallet version. 2014-12-02 09:48:47 +01:00
vertoe
e992aee09d Update subsidity function. 2014-12-02 09:16:52 +01:00
vertoe
0e82f2f91c Add full X11 implementation and block hashing 2014-11-29 12:29:14 +01:00
vertoe
f164aeaadc Add sph sources to prepare X11 integration 2014-11-29 11:07:09 +01:00
vertoe
eb2afb2630 Add sph type definition to prepare X11 integration 2014-11-29 10:42:42 +01:00
vertoe
d5b70d0da9 Update checkpoints 2014-11-28 11:53:08 +01:00
vertoe
9279744a64 Update address versions and genesis block 2014-11-28 10:56:02 +01:00
vertoe
b0ad85593f Update dns seeds 2014-11-27 18:56:59 +01:00
vertoe
dcdbfbcfe4 Update protocol versions 2014-11-27 18:29:18 +01:00
vertoe
aedda3b379 Change port to 9999 and rpcport to 9998 2014-11-27 18:09:11 +01:00
vertoe
5ba6751be7 Change , .conf and .pid files to darkcoin 2014-11-27 17:26:22 +01:00
Gregory Maxwell
cd5164aba2
Make -proxy set all network types, avoiding a connect leak.
Previously -proxy was not setting the proxy for IsLimited networks, so
 if you set your configuration to be onlynet=tor you wouldn't get an
 IPv4 proxy set.

The payment protocol gets its proxy configuration from the IPv4 proxy,
 and so it would experience a connection leak.

This addresses issue #5355 and also clears up a cosmetic bug where
 getinfo proxy output shows nothing when onlynet=tor is set.

Conflicts:
	src/init.cpp

Rebased-From: 3c77714134
Github-Issue: #5358
2014-11-24 15:33:46 +01:00
Gavin Andresen
25b49b5b45 Refactor -alertnotify code
Refactor common -alertnotify code into static CAlert::Notify method.
2014-10-08 12:17:57 +02:00
Cory Fields
5b9f78d69c build: Fix OSX build when using Homebrew and qt5
Qt5 is bottled, so configure won't find it without some help. Use
brew to find out its prefix.

Also, qt5 added the host_bins variable to pkg-config, use it.
2014-10-03 15:33:24 -04:00
Gavin Andresen
ea3c1b0806 Store fewer orphan tx by default, add -maxorphantx option
There is no reason to store thousands of orphan transactions;
normally an orphan's parents will either be broadcast or
mined reasonably quickly.

This pull drops the maximum number of orphans from 10,000 down
to 100, and adds a command-line option (-maxorphantx) that is
just like -maxorphanblocks to override the default.
2014-09-11 15:06:46 +02:00
shshshsh
af252082ef Make max number of orphan blocks kept in memory a startup parameter (fixes #4253)
Rebased-From: 7b45d943b2
2014-09-11 15:06:46 +02:00
Gavin Andresen
6d911ada83
Stricter handling of orphan transactions
Prevent denial-of-service attacks by banning
peers that send us invalid orphan transactions
and only storing orphan transactions given to
us by a peer while the peer is connected.

Rebased-From: c74332c678
2014-09-11 15:06:42 +02:00
phantomcircuit
306a93b79e
remove useless millisleep
reduces time to service requests improving performance

Rebased-From: 9189f5fe4d
2014-09-11 11:20:48 +02:00
Jeff Garzik
6eb5410d8f
Avoid returning many "inv" orphans
Rebased-From: 540ac45
Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
2014-09-10 17:05:31 +02:00
Wladimir J. van der Laan
d030936da2
Limit CNode::mapAskFor
Tighten resource constraints on CNode.

Rebased-From: d4168c8
Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
2014-09-10 17:00:37 +02:00
Gavin Andresen
12927dd315 Fix crashing bug caused by orphan(s) with duplicate prevout.hash
Rebased-From: def2fdb
Rebased-By: Wladimir J. van der Laan
2014-09-10 16:56:54 +02:00
Wladimir J. van der Laan
c6727f34d1 Avoid repeated lookups in mapOrphanTransactions and mapOrphanTransactionsByPrev
Rebased-From: 89d91f6
Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
2014-09-09 09:20:54 +02:00
Wladimir J. van der Laan
ea55881c3e Filter translations through new update-translations script
This does not add any new messages from transifex, it just filters the
current ones.
2014-09-01 11:00:16 +02:00
Wladimir J. van der Laan
e6abbce8cd
qt: Language update for 0.9.3 2014-08-22 12:02:24 +02:00
Cory Fields
47c78c2966 libc-compat: add new symbol that's now needed
Rebased-From: 565e569
2014-08-21 18:07:05 +02:00
Cory Fields
0991401cdd
build: Fix boost build on some platforms
When the libpath doesn't line up with the value from config.sub, we don't find
the correct path to boost's libs. This adds a hack to try another path before
giving up.

Should close #3219.

Rebased-From: 54c7df81
2014-08-21 17:54:09 +02:00
Cory Fields
f62031b895
qt: fix unicode character display on osx when building with 10.7 sdk
Conflicts:
	src/qt/bitcoin.cpp

Rebased-From: 292cc072
2014-08-21 17:35:31 +02:00
Jeff Garzik
026b9dfd6e
Avoid querying DNS seeds, if we have open connections.
The goal is to increase independence and privacy.

Rebased-From: 2e7009d
2014-08-19 17:37:07 +02:00
Peter Todd
84fe0ffd68 Increase IsStandard() scriptSig length
Removes the limits on number of pubkeys for P2SH CHECKMULTISIG outputs.
Previously with the 500 byte scriptSig limit there were odd restrictions
where even a 1-of-12 P2SH could be spent in a standard transaction(1),
yet multisig scriptPubKey's requiring more signatures quickly ran out of
scriptSig space.

From a "stuff-data-in-the-blockchain" point of view not much has changed
as with the prior commit now only allowing the dummy value to be null
the newly allowed scriptSig space can only be used for signatures. In
any case, just using more outputs is trivial and doesn't cost much.

1) See 779b519480d8c5346de6e635119c7ee772e97ec872240c45e558f582a37b4b73
   Mined by BTC Guild.
2014-08-18 15:34:29 +02:00
Peter Todd
fd0c4606bc Check redeemScript size does not exceed 520 byte limit
redeemScripts >520bytes can't be spent due to the
MAX_SCRIPT_ELEMENT_SIZE limit; previously the addmultisigaddress and
createmultisig RPC calls would let you violate that limit unknowingly.

Also made the wallet code itself check the redeemScript prior to adding
it to the wallet, which in the (rare) instance that a user has added an
invalid oversized redeemScript to their wallet causes an error on
startup. The affected key isn't added to the wallet; other keys are
unaffected.
2014-08-18 15:34:29 +02:00
Wladimir J. van der Laan
4b57c5b3c7 Ignore too-long redeemScripts while loading wallet
This avoids that long redeemScripts that were grandfathered in
prevent the wallet from loading.

Fixes #4313.

Rebased-From: 18116b0
2014-08-18 15:34:29 +02:00
Jeff Garzik
f8cdf4f937 base58: add paranoid return value checks
Rebased-From: 88df548
2014-08-18 15:34:29 +02:00
Andrew Poelstra
f6f4c83382 key.cpp: fail with a friendlier message on missing ssl EC support
Previously if bitcoind is linked with an OpenSSL which is compiled
without EC support, this is seen as an assertion failure "pKey !=
NULL" at key.cpp:134, which occurs after several seconds. It is an
esoteric piece of knowledge to interpret this as "oops, I linked
with the wrong OpenSSL", and because of the delay it may not even
be noticed.

The new output is

: OpenSSL appears to lack support for elliptic curve cryptography. For
more information, visit
https://en.bitcoin.it/wiki/OpenSSL_and_EC_Libraries
: Initialization sanity check failed. Bitcoin Core is shutting down.

which occurs immediately after attempted startup.

This also blocks in an InitSanityCheck() function which currently only
checks for EC support but should eventually do more. See #4081.

Rebased-From: 4a09e1d
2014-08-18 15:34:29 +02:00
Trevin Hofmann
23826316d4 Add a new checkpoint at block 295,000
Block 295,000 seems to meet the criteria of a reasonable timestamp and
no strange transactions. 295,000 is the current block height in the
bootstrap.dat torrent provided by jgarzik.

Rebased-From: 125fba1
2014-08-18 15:34:29 +02:00
Pieter Wuille
a78996503f Add a way to limit deserialized string lengths
and use it for most strings being serialized.

Rebased-From: 216e9a4
2014-08-18 15:34:29 +02:00
Pavel Vasin
0a6dcae508 AvailableCoins: acquire cs_main mutex
It's required when called from WalletModel

Rebased-From: ea3acaf
2014-08-18 15:34:28 +02:00
Ruben Dario Ponticelli
44d8e093ca Avoid a segfault on getblock if it can't read a block from disk.
Rebased-From: 954d2e7
2014-08-18 15:34:28 +02:00
Julian Haight
bf75a3d3fd qt: fix 'opens in testnet mode when presented with a BIP-72 link with no fallback'
Passes tests:

```
$ ./bitcoin-qt 'bitcoin:?r=http://www.example.com/'
.. fixed the original problem - this launches mainnet.

$ ./bitcoin-qt 'bitcoin:mngeNQbTKnmaMbx8EXCYdwUbnt9JJD52cC'
.. launches testnet

$ ./bitcoin-qt -testnet 'bitcoin:1NXXeQRyMFFFRfyUix2o7mk1vhvk2Nxp78'
.. sanity check - launches mainnet.
```

Fixes #4355. Closes #4411.

Rebased-From: dd49e92
2014-08-18 15:34:28 +02:00
Zak Wilcox
221684c7ef Clarify that redeemScript is often optional
Rebased-From: 6265ecc
2014-08-18 15:34:28 +02:00
Cory Fields
84efe0ec22 Remove bignum dependency for scripts
Rebased-From: 48d8eb1 27bff74 4f497cd 05e3ecf 90320d6 b1fdd54
2014-08-18 15:34:28 +02:00
Zak Wilcox
5baa4a90e3 In -? output: -keypool, -gen, -genproclimit depend on ENABLE_WALLET
Rebased-From: a7e1d50
2014-08-18 15:34:28 +02:00
Wladimir J. van der Laan
5332b0a429 Don't poll showmyip.com, it doesn't exist anymore
Fixes #4679.

This leaves us with only one candidate, checkip.dyndns.org.
GetMyExternalIP should be phased out as soon as possible.

Rebased-From: c33b983
2014-08-18 15:11:15 +02:00
Wladimir J. van der Laan
6862c8ba99 Version bump for 0.9.3 2014-08-18 15:05:38 +02:00
Wladimir J. van der Laan
752ecec5cc Remove NumBlocksOfPeers
Generally useless information. Only updates on connect time, not after
that. Peers can easily lie and the median filter is not effective in
preventing that.

In the past it was used for progress display in the GUI but
`CheckPoints::guessVerificationProgress` provides a better way that is now used.
It was too easy to mislead it. Peers do lie about it in practice, see issue #4065.

From the RPC, `getpeerinfo` gives the peer raw values, which are more
useful.
2014-07-04 06:58:45 +02:00
Wladimir J. van der Laan
354c0f382b
Bump version to 0.9.2.1 2014-06-19 09:51:15 +02:00
Wladimir J. van der Laan
b64b1c6e9f
rpc: Add acceptors only when listening succeeded
Rebased-From: 6afa493
Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
2014-06-19 09:41:25 +02:00
Wladimir J. van der Laan
a3788527a2 rpc: Ignore and log errors during cancel
Cancelling the RPC acceptors can sometimes result in an error about
a bad file descriptor.

As this is the shutdown sequence we need to continue nevertheless,
ignore these errors, log a warning and proceed.

Fixes #4352.
2014-06-19 09:38:04 +02:00
Cory Fields
9d5b5c3a2d Qt: Fix monospace font in osx 10.9
The "Monospace" hint was added in Qt 4.8, and it works as intended as opposed
to "TypeWriter" which fails to load a font.

Rebased-From: e9df7f8
Rebased-By: Wladimir J. van der Laan
2014-06-18 19:53:55 +02:00
Wladimir J. van der Laan
e39a3f2c69
qt: Periodic translation update
Rebased-From: db41541
Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
2014-06-06 19:29:47 +02:00
Jeff Garzik
7ccadd4199
CWallet: fix nTimeFirstKey init, by making constructor init common code
Don't repeat yourself etc.

Rebased-From: d04fd3e
Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
2014-06-06 19:26:15 +02:00
tm314159
eac2cdcab2
Properly initialize CWallet::nTimeFirstKey
Rebased-From: 91855f2
Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
2014-06-03 08:54:45 +02:00
Huang Le
acb5356087
Use pnode->nLastRecv as sync score directly
NodeSyncScore() should find the node which we recv data most recently, so put a negative sign to pnode->nLastRecv is indeed wrong.

Also change the return value type to int64_t.

Signed-off-by: Huang Le <4tarhl@gmail.com>
Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
Rebased-From: 09a54a6
2014-06-02 14:26:24 +02:00
Wladimir J. van der Laan
41b96da264
Periodic language update
Pull updated translations from Transifex before 0.9.2

Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
Rebased-From: 11ef78f
2014-06-01 16:32:04 +02:00
Wladimir J. van der Laan
64e1082d7a Set client version to release
No longer show the "Do not use..." banner.
2014-06-01 16:31:54 +02:00
Pieter Wuille
d6377e6a4a
Limit number of known addresses per peer
Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
Rebased-From: 5823449
2014-06-01 09:54:00 +02:00
Cory Fields
3a4a66f47e
osx: Fix missing dock menu with qt5
Qt5 Removed the qt_mac_set_dock_menu function and left no replacement. It was
later re-added and deprecated for backwards-compatibility.

Qt5.2 adds the non-deprecated QMenu::setAsDockMenu(). Use that when possible.

Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
Rebased-From: c21c74b
2014-05-30 10:20:50 +02:00
Pieter Wuille
2f89f4b35d
No references to centralized databases in help text.
Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
Rebased-From: b5ef85c
2014-05-29 19:11:05 +02:00
Cozz Lovan
6fb75919de
[Qt] Fix Start bitcoin on system login
Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
Rebased-From: 066d9a5
2014-05-29 08:25:36 +02:00
Wladimir J. van der Laan
48115f5313 qt: Periodic language update
Last-minute language update before release 0.9.2.

Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
Rebased-From: a8a0db6
2014-05-23 17:59:26 +02:00
Wladimir J. van der Laan
a62649723b
Replace non-threadsafe gmtime and setlocale
Make DateTimeStrFormat use boost::posix_time.

Also re-enable the util_DateTimeStrFormat tests, as they are no
longer platform specific.

Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
Rebased-From: 3e8ac6a
2014-05-23 16:04:02 +02:00
Wladimir J. van der Laan
e0036e9f0e
Replace non-threadsafe strerror
Log the name of the error as well as the error code if a network problem
happens. This makes network troubleshooting more convenient.

Use thread-safe strerror_r and the WIN32 equivalent FormatMessage.

Conflicts:
	src/netbase.cpp

Rebased-By: Wladimir van der Laan <laanwj@gmail.com>
Rebased-From: a60838d
2014-05-23 16:03:43 +02:00
Pieter Wuille
2585310a22
Add missing LOCK(cs_main)
Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
Rebased-From: 305ccaa
2014-05-21 14:15:42 +02:00
Wladimir J. van der Laan
ac1dd87f33
qt: Periodic language update
Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
Rebased-From: 6fcdad7
2014-05-21 12:42:10 +02:00
Kamil Domanski
e917bdb563
remove ParseString(...) which is never used
Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
Rebased-From: be54b87
2014-05-21 11:25:28 +02:00
Kamil Domanski
79144ac17d
switch from boost int types to <stdint.h>
Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
Rebased-From: 4b61a6a, 3e74ac2, d56e30c
Github-Pull: #4129
2014-05-21 11:25:18 +02:00
Stuart Cardall
337459b96b
SetupEnvironment() - clean commit
Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
Rebased-From: 5248ff4
2014-05-19 15:16:33 +02:00
Wladimir J. van der Laan
4b8a3ab877
qt: periodic language update
Pull updated translations from Transifex.

Add mn (Mongolian) language.

Do not update English translation for now as we want to keep
compatibility with 0.9.

Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
Rebased-From: 795b921
2014-05-13 07:08:59 +02:00
Wladimir J. van der Laan
9f535d4104
rpc: keep track of acceptors, and cancel them in StopRPCThreads
Fixes #4156.

The problem is that the boost::asio::io_service destructor
waits for the acceptors to finish (on windows, and boost 1.55).

Fix this by keeping track of the acceptors and cancelling them before
stopping the event loops.

Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
Rebased-From: cef4494
2014-05-12 17:59:28 +02:00
Wladimir J. van der Laan
203a0cfa7c rpc: Make sure conn object is always cleaned up
Make sure conn object always gets cleaned up by using a
`boost::shared_ptr`.

This makes valgrind happy - before this commit, one connection object
always leaked at shutdown, as well as can avoid other leaks, when
for example an exception happens.

Also add an explicit Close() to the !ClientAllowed path to make it similar
to the normal path (I'm not sure whether it is needed, but it
can't hurt).

Rebased-By: Wladimir J. van der Laan
Rebased-From: 1a44522
2014-05-12 17:56:55 +02:00
Wladimir J. van der Laan
1ed6d499b6 rpc: pass errors from async_accept
According to the [boost::asio documentation](http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/reference/basic_socket_acceptor/async_accept/overload2.html),
the function signature of the handler must be:

    void handler(
      const boost::system::error_code& error // Result of operation.
    );

We were binding *all* the arguments, instead of all but the error,
resulting in nullary function that never got the error. Fix this
by adding an input argument substitution.

Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
Rebased-From: 0a0cd34
2014-05-12 17:55:58 +02:00
Pieter Wuille
010e66188e
Move base58.h implementation code to base58.cpp
Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
Rebased-From: f6b7c64
2014-05-12 14:57:02 +02:00
Wladimir J. van der Laan
72ae546dd4
Remove dummy PRIszX macros for formatting
Size specifiers are no longer needed now that we use typesafe tinyformat
for string formatting, instead of the system's sprintf.

No functional changes.

This continues the work in #3735.

Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
Rebased-From: 783b182
2014-05-12 14:02:43 +02:00
Pieter Wuille
26ceac4acf Squashed 'src/leveldb/' changes from 9094c7f..7924331
42dcc7e Merge upstream LevelDB 1.17.
e353fbc Release LevelDB 1.17
269fc6c Release LevelDB 1.16
REVERT: 9094c7f Temporarily revert to writing .sst files instead of .ldb

git-subtree-dir: src/leveldb
git-subtree-split: 79243314e40ac31d79c68e5658a1d6a64800d50b
Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
Rebased-From: 938b689
2014-05-12 11:30:33 +02:00
shshshsh
a39d4e3771 Switch stdout to line buffering
Use line buffering (instead of block buffering) so that messages arrive
immediately in systemd-journald, tail -f debug.log, and the like.

Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
Rebased-From: 283e405
2014-05-12 08:27:37 +02:00
Matthew Bogosian
78363dc991 fixes #4163
Rebased-by: Wladimir J. van der Laan <laanwj@gmail.com>
Rebased-from: 90fd873
2014-05-12 08:26:52 +02:00
Wladimir J. van der Laan
c11c72cd5b Bump version numbers for 0.9.2 branch split-off
Show version as 0.9.1.99 until rc1.
2014-05-09 15:52:48 +02:00
Wladimir J. van der Laan
da257a7b36
Merge pull request #4136
01ce711 [Qt] fix Qt slot problem in receivecoinsdialog (Philip Kaufmann)
2014-05-09 12:31:57 +02:00
Wladimir J. van der Laan
9b4b3cf9cf
qt: fix compile issue in Qt GUI
This was introduced in 3e1cf9b. Needs a cast to qint64.
2014-05-08 12:23:56 +02:00
David A. Harding
e0c06d2c49
Typo Fix In decoderawtransaction Help: s/txid/hex/
Help text appears to have been copy/pasted from getrawtransaction,
so it erroneously asked for a txid where rawtransaction hex should appear.

Remove lines which were copy/pasted from getrawtransaction but which
aren't displayed by decoderawtransaction.

Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
Rebased-From: 5cc0133 80c521e
Github-Pull: #4106
2014-05-08 11:49:02 +02:00
Wladimir J. van der Laan
0ecd8aae20
Merge pull request #4131
3e1cf9b add DEFAULT_TRANSACTION_FEE constant in wallet (Philip Kaufmann)
2014-05-08 10:48:07 +02:00
Wladimir J. van der Laan
69e264b6f8
Merge pull request #4141
9d558e1 ui: Check for !pixmap() before trying to export QR code (Wladimir J. van der Laan)
2014-05-08 10:32:14 +02:00
Philip Kaufmann
4629f95b22
[Qt] fix ugly typo in bitcoin.cpp
Closes #4145.

Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
Rebased-From: 1e4b083
2014-05-07 15:48:17 +02:00
Wladimir J. van der Laan
a475285a53
Add missing cs_main lock to VerifyDB
Fixes issue #4139.
2014-05-07 15:15:28 +02:00
Wladimir J. van der Laan
9d558e1c18 ui: Check for !pixmap() before trying to export QR code
Adds null pointer checks as well as prevents the Save/Copy context
menu from appearing at all if no image is shown.

Fixes issue #4140
2014-05-07 08:42:12 +02:00
Wladimir J. van der Laan
acc2d2ca5f
Merge pull request #4127
d387b8e rpc: add `getblockchaininfo` and `getnetworkinfo` (Wladimir J. van der Laan)
2014-05-06 16:36:55 +02:00
Philip Kaufmann
01ce711798 [Qt] fix Qt slot problem in receivecoinsdialog
- fixes error from debug.log:
  QMetaObject::connectSlotsByName: No matching signal for
  on_recentRequestsView_selectionChanged(QItemSelection,QItemSelection)
- small style fixes (e.g. alphabetical ordering if includes etc.)
- fixes #3992
2014-05-06 12:52:21 +02:00
Wladimir J. van der Laan
b733288d95
qt: periodic translations update 2014-05-06 12:21:26 +02:00
Wladimir J. van der Laan
d387b8ec15 rpc: add getblockchaininfo and getnetworkinfo
Adds two new info query commands that take over information from
hodge-podge `getinfo`.

Also some new information is added:
- `getblockchaininfo`
  - `chain`: (string) current chain (main, testnet3, regtest)
  - `verificationprogress: (numeric) estimated verification progress
  - `chainwork`
- `getnetworkinfo`
  - `localaddresses`: (array) local addresses, from mapLocalHost (fixes #1734)
2014-05-06 09:34:54 +02:00
Philip Kaufmann
3e1cf9b6f6 add DEFAULT_TRANSACTION_FEE constant in wallet
- as this is a shared Core/GUI setting, this makes it easier to keep them
  in sync (also no new includes are needed)
2014-05-05 20:54:00 +02:00
Wladimir J. van der Laan
d4ffe4e425
Merge pull request #4120
dbe8f75 don't use sed's -i option to stay posix compliant (Fabian Raetz)
2014-05-05 08:58:16 +02:00
Fabian Raetz
dbe8f75262 don't use sed's -i option to stay posix compliant
POSIX does not define sed's -i option. To stay as portable
as possible we should not relay on it.
2014-05-02 21:32:12 +02:00
Wladimir J. van der Laan
ab4bd3bdbb
Merge pull request #4119
2364b11 reorder includes to compile on OpenBSD (Fabian Raetz)
2014-05-02 21:31:31 +02:00
Fabian Raetz
2364b118f2 reorder includes to compile on OpenBSD
From getifaddr(3) manual:
"If both <net/if.h> and <ifaddrs.h> are being
included, <net/if.h> must be included before <ifaddrs.h>"

http://www.openbsd.org/cgi-bin/man.cgi?query=getifaddrs&apropos=0&sektion=0&manpath=OpenBSD+Current&arch=i386&format=html
2014-05-02 20:45:03 +02:00
Wladimir J. van der Laan
1ab62973d3
Merge pull request #4074
d3081fa Removed LevelDB changes (super3)
2014-05-02 20:36:26 +02:00
Wladimir J. van der Laan
3e578aa9b9
Merge pull request #4114
bfb154e Update build instructions for Berkeley DB (Wladimir J. van der Laan)
d0a2e2e Log BerkeleyDB version at startup (Wladimir J. van der Laan)
2014-05-02 18:14:39 +02:00
Philip Kaufmann
2fdd4c7933 better std::exception logging for CAddrDb
- also small logging text changes
2014-05-02 14:35:30 +02:00
Wladimir J. van der Laan
583df73acd
Merge pull request #4110
3a54ad9 Full translation update (Wladimir J. van der Laan)
9dd5d79 devtools: add a script to fetch and postprocess translations (Wladimir J. van der Laan)
58c01a3 qt: add transifex configuration file (Wladimir J. van der Laan)
2014-05-02 11:50:59 +02:00
Wladimir J. van der Laan
bf35cae1ae
Merge pull request #4115
e27c411 Remove build-time no-IPv6 setting (Wladimir J. van der Laan)
2014-05-02 10:27:27 +02:00
Wladimir J. van der Laan
83d7dc44ef
Merge pull request #4032
c0e0b05 Bugfix: configure: Look in libx32 subdirectory for boost libraries (Luke Dashjr)
2014-05-02 09:25:52 +02:00
super3
d3081fa231 Removed LevelDB changes
Syntax Highlighting
2014-05-01 12:10:06 -04:00
Wladimir J. van der Laan
e27c4110d9 Remove build-time no-IPv6 setting
The year is 2014. All supported operating systems have IPv6 support,
most certainly at build time (this doesn't mean that IPv6 is configured,
of course).

If noone is exercising the functionality to disable it, that means it
doesn't get tested, and IMO it's better to get rid of it.

(it's also not used consistently in RPC/boost and Net code...)
2014-05-01 12:15:36 +02:00
Wladimir J. van der Laan
3a54ad9aba Full translation update
Last update (48be9ce) missed quite a lot, for some reason.

This is also the first update done with the new script
`contrib/devtools/update-translations.py`
2014-05-01 10:16:06 +02:00
Wladimir J. van der Laan
d0a2e2eb87 Log BerkeleyDB version at startup
Prints the actual version of BerkeleyDB that is linked against, if
wallet support is enabled.

Useful for troubleshooting.

For example:

    2014-05-01 07:44:02 Using BerkeleyDB version Berkeley DB 4.8.30: (April 9, 2010)

    2014-05-01 07:54:25 Using BerkeleyDB version Berkeley DB 5.1.29: (October 25, 20 11)
2014-05-01 09:56:14 +02:00
Wladimir J. van der Laan
d69427a0c4
Merge pull request #4092
40c5b93 [Qt] Optionally add third party links to transaction context menu (Cozz Lovan)
2014-05-01 08:20:11 +02:00
Wladimir J. van der Laan
191b087e0e
Merge pull request #4109
6b29ccc Correct indentation (R E Broadley)
2014-05-01 08:09:20 +02:00
Philip Kaufmann
1cc7f54a8d use standard __func__ instead of __PRETTY_FUNCTION__ 2014-04-30 14:45:24 +02:00
R E Broadley
6b29ccc9f9 Correct indentation 2014-04-30 14:57:11 +08:00
Wladimir J. van der Laan
48be9ceaa0
qt: Periodic translations update
Update English translation from source code, and pull other translations
from Transifex.
2014-04-29 16:02:36 +02:00
Wladimir J. van der Laan
c63b2e25a5
Merge pull request #4043
d282c1f [Qt] catch Windows shutdown events while client is running (Philip Kaufmann)
2014-04-27 18:22:12 +02:00
Cozz Lovan
40c5b939f2 [Qt] Optionally add third party links to transaction context menu 2014-04-25 20:01:20 +02:00
Simon de la Rouviere
0caf2b187f Add MESSAGE_START_SIZE from chainparams when loading blocks from external files. 2014-04-24 14:32:11 +02:00
Wladimir J. van der Laan
89bbd54fbf
Merge pull request #4085
b39a07d Add missing AssertLockHeld in ConnectBlock (Wladimir J. van der Laan)
41106a5 qt: get required locks upfront in polling functions (Wladimir J. van der Laan)
ed67100 Add required locks in tests (Wladimir J. van der Laan)
2014-04-23 17:06:28 +02:00
Wladimir J. van der Laan
b39a07dc42 Add missing AssertLockHeld in ConnectBlock 2014-04-23 09:07:18 +02:00
Wladimir J. van der Laan
41106a50d2 qt: get required locks upfront in polling functions
This avoids the GUI from getting stuck on
periodical polls if the core is holding the locks for a longer time -
for example, during a wallet rescan.
2014-04-23 09:07:18 +02:00
Wladimir J. van der Laan
ed67100565 Add required locks in tests
Unit tests with DEBUG_LOCKORDER were running into assertions.
2014-04-23 08:05:05 +02:00
Cozz Lovan
bb1f1c90d6 [Qt] importwallet progress 2014-04-23 01:50:25 +02:00
Wladimir J. van der Laan
bbe53f61db
Merge pull request #4042
05c20a5 build: add symbol for upcoming gcc 4.9's libstdc++ (Cory Fields)
49a3352 gitian-linux: --enable-glibc-back-compat (Warren Togami)
d5aab70 build: add an option for enabling glibc back-compat (Cory Fields)
ffc6b67 build: add glibc/libstdc++ back-compat stubs (Cory Fields)
2014-04-22 16:24:43 +02:00
Wladimir J. van der Laan
2bbecc84e2
Merge pull request #4058
55a1db4 Solve chainActive-related locking issues (Wladimir J. van der Laan)
e07c943 Add AssertLockHeld for cs_main to ChainActive-using functions (Wladimir J. van der Laan)
2014-04-22 13:35:37 +02:00
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
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
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
rxl
4e9667b844 Improve and expand base58 comments
update comments so doxygen will pick them up
2014-04-12 11:36:52 -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
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
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
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
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
a7101b13f7
Merge pull request #4019
13a2283 build: Sync ax_boost_base.m4 with upstream. (Cory Fields)
2014-04-08 10:24:26 +02:00
langerhans
71f82bf2ab Restart-warning for spendZeroConfChange option
According to the options model, a restart is required after changing this option. So let's notify the user about it.
2014-04-07 19:26:30 +02:00
Cory Fields
13a2283a6d build: Sync ax_boost_base.m4 with upstream.
This should fix 32bit boost detection on Ubuntu Saucy+. Fixes #3945.
2014-04-07 13:19:01 -04:00
Wladimir J. van der Laan
4ae5e72128
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-04-07 10:16:09 +02:00
Wladimir J. van der Laan
f4e1c347cf
Merge pull request #3972
fbf617a remove an assignment which is never used. (Yoichi Hirai)
2014-04-07 08:09:42 +02:00
Gregory Maxwell
94c8bfb23b Move assert(pindexNew); to above where we dereference pindexNew. 2014-04-05 22:11:16 -07:00