Commit graph

1998 commits

Author SHA1 Message Date
Jeff Garzik
17f8d6e400 Improve debug logging, for mempool TXs that do not include sufficient fees 2012-09-09 17:05:26 -04:00
Jeff Garzik
76970091f1 Cosmetic: move CTransaction::GetMinFee out of header file 2012-09-09 17:01:18 -04:00
Wladimir J. van der Laan
62904b33f3 Improve RPC console key event behaviour
- Paging using PageUp / PageDown now works when entry widget has focus
- Typing or pasting while the messages widget has focus auto-selects entry widget
2012-09-09 20:44:59 +02:00
Wladimir J. van der Laan
b019ea17ec Remove VC6 comment and pointless #ifdef'd benchmark code
We're in a wholly different world now, C++-compiler-wise.

Current std::stringstream implementations don't have the stated problem anymore,
and are just as fast as CDataStream.

The #ifdef'd block does not even compile anymore; CDataStream constructor changed,
and missing some std::. Also timing in whole seconds is also way too granular
to say anything sensible in such microbenchmarks. Just remove it,
it can always be found again in git history.
2012-09-09 17:24:00 +02:00
Wladimir J. van der Laan
963af6449f Cleanup some unused macros from util.h
Encapsulate _snprintf/sprintf difference in implementation not header
2012-09-09 15:47:29 +02:00
Wladimir J. van der Laan
b0a90fbb0c Add printf-style warnings to strprintf() and OutputDebugStringF()
This finds about ~150 potential problems with format characters on a 64 bit build.
2012-09-09 14:47:31 +02:00
Wladimir J. van der Laan
d8ecd21ff7 Merge pull request #1802 from luke-jr/bugfix_ts
Update translations from Transifex (100% coverage for Finnish and Chinese (China)
2012-09-09 00:04:03 -07:00
Luke Dashjr
85eb1e7e56 Update translations from Transifex (100% coverage for Finnish and Chinese (China) 2012-09-08 20:32:54 +00:00
Wladimir J. van der Laan
31fac119dc Merge pull request #1796 from luke-jr/bugfix_ts
Various translation fixups and restorations
2012-09-07 22:15:19 -07:00
Luke Dashjr
4ee706243c Partially Bugfix: Update English translation strings and translations from Transifex
Bugfix: Correct doubled-up & in translations
Bugfix: Remove extra spaces after ampersand in translations (this fixes hotkeys)
Restore copyright translations, now split up
Restore old translations lost due to changes to English structure
	Skipped: ca_ES et eu_ES fr_CA (under 10% coverage)
2012-09-08 04:59:13 +00:00
Luke Dashjr
da7b8c1260 Bugfix: Initialize CWallet::nOrderPosNext on an empty wallet, and save it in db 2012-09-08 04:55:36 +00:00
Wladimir J. van der Laan
db1967957d Merge pull request #1798 from xanatos/patch-19
Wrong address added to collection in test (address1 instead of address2)
2012-09-07 07:13:23 -07:00
Philip Kaufmann
f875921176 Bitcoin-Qt (Windows only): add version info to Resource File
- add version information to bitcoin-qt.rc, which is displayed on Windows, when looking in the executable properties and selecting "Details"
- introduce a new clientversion.h (used in bitcoin-qt.rc to generate
  version information), which takes only the version defines from
  version.h and is included in it (to allow usage with the windres rc-file
  compiler)
- move #define STRINGIFY(s) #s into clientversion.h as that is used in
  bitcoin-qt.rc and rename to DO_STRINGIZE(X)
- add #define STRINGIZE(X) DO_STRINGIZE(X), which is needed to convert the
  version defines into a version string in the rc-file
- this ensures we only need to update 1 file and have bitcoin-qt.exe
  version information

- for RC-file documentation see:
  http://msdn.microsoft.com/en-us/library/windows/desktop/aa381058%28v=vs.85%29.aspx
2012-09-07 16:08:18 +02:00
xanatos
af8c050bff Wrong address added to collection in test
The wrong address is added to the collection. As was written a second copy of address1 was added (and so address2 was useless).
2012-09-07 16:04:39 +03:00
Wladimir J. van der Laan
f106491fa2 Merge pull request #1786 from jgarzik/select-fix
select()'s first argument should be zero, if no file descriptors are selected
2012-09-06 23:30:22 -07:00
Gavin Andresen
1913b6e2fc Fix double-paren typo 2012-09-06 16:29:59 -04:00
Matt Corallo
65786afb05 Add various tests for CTransaction::CheckTransaction() 2012-09-05 22:33:59 -04:00
Matt Corallo
1fcebc16c5 check tx.CheckTransaction for data-driven tx tests.
(and change so that only one case has to fail to make a tx_invalid
test correct)
2012-09-05 22:33:59 -04:00
Philip Kaufmann
4bd34b4966 replace 2x WSAGetLastError() with 1x WSAGetLastError() call 2012-09-05 22:20:26 +02:00
Jeff Garzik
2387944782 select(): Use precise fd presence check, rather than imprecise hSocketMax test 2012-09-05 16:01:28 -04:00
Gavin Andresen
8788221761 Bump version number for 0.7.0rc2 2012-09-05 12:38:37 -04:00
Gavin Andresen
91c218a1cb Merge branch 'testnet_alert' of git://github.com/gavinandresen/bitcoin-git 2012-09-05 11:38:38 -04:00
xanatos
4f76be1dc5 Correct LoadWallet() return value (false -> DB_LOAD_OK)
Equivalent code. (false == 0 == DB_LOAD_OK). Fixes #1706.
2012-09-05 11:32:13 +03:00
Jeff Garzik
e271c1d3d0 Merge pull request #1789 from Diapolo/fix_double_Startuptime
remove double logging of startup time, when !fLogTimestamps
2012-09-04 23:39:15 -07:00
Philip Kaufmann
274b7ab123 remove double logging of startup time, when !fLogTimestamps 2012-09-05 08:36:50 +02:00
Philip Kaufmann
8d367c7e66 fix signed/unsigned usage in BlockFilePath() 2012-09-05 08:34:41 +02:00
Jeff Garzik
42613c97d5 Add block file naming helper, BlockFilePath() 2012-09-04 21:40:26 -04:00
Jeff Garzik
dcb14198bb init.cpp: fix build error, and possibly-uninit'd warning 2012-09-04 12:24:08 -04:00
Jeff Garzik
38e8f282d2 Merge pull request #1427 from rebroad/StartTimeFix
No need to log start time if it's already being done on every line.
2012-09-04 09:10:47 -07:00
Jeff Garzik
2fd6f067db Merge pull request #1777 from laanwj/2012_09_eliminate_sprintf
Remove last occurrence of potentially insecure function sprintf
2012-09-04 09:00:02 -07:00
Jeff Garzik
bec02998b4 Merge pull request #1779 from xanatos/patch-15
Useless vector declaration
2012-09-04 08:59:05 -07:00
Jeff Garzik
8c7b6c05db Merge pull request #1738 from laanwj/2012_08_boostthread
implement CreateThread with boost::thread
2012-09-04 08:53:05 -07:00
Wladimir J. van der Laan
9d7da11458 Merge pull request #1743 from xanatos/patch-14
Changed nprev->pprev
2012-09-03 08:11:36 -07:00
Wladimir J. van der Laan
acbe4a1f32 Merge pull request #1728 from xanatos/patch-11
Removed duplicated lock
2012-09-03 08:00:18 -07:00
xanatos
89fbd1f11c Useless vector declaration
The vector isn't referenced in the small code block it's declared. I don't see any "useful" side effect in its declaration.
2012-09-03 17:53:27 +03:00
Wladimir J. van der Laan
9c80909452 Remove last occurrence of potentially insecure function sprintf.
%d can return up to 11 characters. Move away from fixed buffer completely and
use our own safe function strprintf.
2012-09-03 16:18:16 +02:00
Gavin Andresen
eaf00a3a5d Merge pull request #1774 from luke-jr/refactor_times
Bugfix: Require OrderedTxItems to provide properly scoped accounting entry list
2012-09-02 16:47:58 -07:00
Wladimir J. van der Laan
4d0c2b6cf4 Merge pull request #1761 from Diapolo/timeout_desc
add default value in -timeout description
2012-09-02 06:19:10 -07:00
Luke Dashjr
ddb709e9de Bugfix: Require OrderedTxItems to provide properly scoped accounting entry list
OrderedTxItems returns a multimap of pointers, but needs a place to store the actual CAccountingEntries it points to.
It had been using a stack item, which was clobbered as soon as it returned, resulting in undefined behaviour.
This fixes at least bug #1768.
2012-09-02 08:02:46 +00:00
Jeff Garzik
0e1be81a4a Merge pull request #1771 from luke-jr/bugfix_bip22_mode
Bugfix: getblocktemplate: Accept optional "mode" parameter not being provided
2012-09-01 12:30:13 -07:00
R E Broadley
016178132e No need to log start time if it's already being done on every line. 2012-09-01 14:24:33 +01:00
Luke Dashjr
0689a7eb9c Bugfix: getblocktemplate: Accept optional "mode" parameter not being provided 2012-09-01 07:12:56 +00:00
Wladimir J. van der Laan
9c94bdac06 RPC console: escaping within ' and " now handled differently
Should now mimic bash quoting and escaping (see http://wiki.bash-hackers.org/syntax/quoting) exactly,
leaving out argument expansion and obscure syntax like $''.
2012-09-01 09:08:38 +02:00
Gregory Maxwell
ddbddcb31e Merge pull request #1758 from laanwj/2012_08_uiconsole_parsing
Fix RPC console parser to handle escaped arguments more like bash
2012-08-31 22:50:23 -07:00
Wladimir J. van der Laan
b5c1467a7d In RPC console, attempt to format errors
Try to display a nicer message instead of dumping raw JSON object when possible. If the error
somehow doesn't have the required 'code' and 'message' fields, fall back to printing raw JSON object.
2012-08-31 17:41:58 +02:00
Wladimir J. van der Laan
576b5efe93 Fix RPC console parser to handle escaped arguments more like bash
- Fix issue #1750
2012-08-31 17:23:48 +02:00
Philip Kaufmann
d93e5986d7 add default value in -timeout description 2012-08-30 23:28:19 +02:00
Philip Kaufmann
a4d4403a75 enable ASLR and DEP for bitcoind.exe via linker flags
- this is already active for bitcoin-qt.exe
2012-08-29 22:22:04 +02:00
Wladimir J. van der Laan
4d1d94c56c Rename CreateThread to NewThread
Prevent clash with win32 API symbol
2012-08-29 20:25:37 +02:00
Jeff Garzik
4445434a2d Merge pull request #1745 from gmaxwell/irc_fixes
Misc IRC fixes.
2012-08-29 11:02:21 -07:00
Wladimir J. van der Laan
61d8507140 implement CreateThread with boost::thread
I'm not sure why this wasn't done before.

- Removes typedef of pthread_t on Windows, which fixes a native compile issue on mingw.
2012-08-29 20:02:07 +02:00
Philip Kaufmann
382e9e25ff Qt: re-order GUI code
- re-order Qt Actions and connect() calls to match the real GUI layout,
  which makes things easier to read and understand
- remove signMessageAction and verifyMessageAction from tabGroup as we
  didn't use them anyway (as tooltips are not displayed in the menu remove
  these too)
- update 2 comments
2012-08-29 19:59:22 +02:00
Philip Kaufmann
5fc3a0f707 remove FIRST_CLASS_MESSAGING support from the client
- removes the FIRST_CLASS_MESSAGING support from the client, which was no
  default setting anyway
2012-08-29 19:57:51 +02:00
Wladimir J. van der Laan
6117afeeaa Update strings for 0.7.0rc2 2012-08-29 19:55:40 +02:00
Wladimir J. van der Laan
c7df832d7a Merge pull request #1617 from Diapolo/Show_Hide_string
Update string for Show/Hide in the tray
2012-08-29 10:52:01 -07:00
Wladimir J. van der Laan
fc52af2736 Merge pull request #1720 from Diapolo/Qt_about
Qt: add copyrightLabel to aboutdialog.ui
2012-08-29 10:50:17 -07:00
Philip Kaufmann
e273c51287 Update string for Show/Hide in the tray
- be clear we don't "Show/Hide Bitcoins", but just the client window
- remove the tooltip for toggleHideAction as this is not shown anyway
- update a comment to be more general
2012-08-29 07:39:35 +02:00
Gregory Maxwell
6a60c64c6b Don't retry a failing IRC nickname forever.
If our IRC nick is in use (because some other node thinks it has
the same address we think we have) don't fruitlessly try to reconnect
using that name forever. After three tries, give up and use a random
nick. Either we'll learn a new local address from IRC and switch
to that, or it was right and the other guy is advertising for us.

This avoids a pessimal case where a second testnet node behind
a nat is unable to get any peers because he can't get on IRC.
2012-08-28 22:04:38 -04:00
Gregory Maxwell
3595b18793 Don't force IRC off if not listening, do force it off if IPv4 is off.
Previously Bitcoin would refuse to use IRC if it was either not
accepting inbound connections or not making outbound. Instead this
changes it to not use IRC only if it's not doing either or if
IPv4 is off completely. If Bitcoin is not listening this will use
the default random nicks rather than the IP based ones.
2012-08-28 21:43:28 -04:00
Pieter Wuille
af4da4be3d Bugfix: increase score, not port 2012-08-29 02:33:25 +02:00
Gavin Andresen
286dbba2d2 Give testnet it's own alert key. 2012-08-28 17:13:11 -04:00
Gavin Andresen
f35c6c4fb9 Refactor: move alert code from main to alert.cpp/h 2012-08-28 17:04:54 -04:00
xanatos
9eb7fc5842 Changed nprev->pprev
It should be pprev, because the next one is pnext, and it's printing the memory address of the CBlockIndex (so pSomething).
2012-08-28 23:25:52 +03:00
Wladimir J. van der Laan
ba7ba84f07 Add boost chrono lib for windows builds (required for boost 1.50) 2012-08-27 22:16:24 +02:00
Gavin Andresen
03fa53a640 Version numbers -> 0.7.0 2012-08-27 14:20:56 -04:00
Matt Corallo
a1755ec426 Upgrade to Boost 1.50 2012-08-27 14:20:56 -04:00
Gavin Andresen
fde5c34bd8 Merge branch 'alert_fix' of git://github.com/gavinandresen/bitcoin-git 2012-08-27 12:39:13 -04:00
Gavin Andresen
ef8e821cf2 Fix compiler warning on mac 2012-08-27 12:37:35 -04:00
Gavin Andresen
8cd98a9a26 Merge branch 'bugfix_gitian' of git://github.com/luke-jr/bitcoin 2012-08-27 11:52:56 -04:00
Gavin Andresen
ea2fda46c3 Special-case the last alert for alert-key-compromised case
Hard-code a special nId=max int alert, to be broadcast if the
alert key is ever compromised. It applies to all versions, never
expires, cancels all previous alerts, and has a fixed message:
   URGENT: Alert key compromised, upgrade required

Variations are not allowed (ignored), so an attacker with
the private key cannot broadcast empty-message nId=max alerts.
2012-08-27 10:22:57 -04:00
xanatos
028ec224b8 Removed duplicated lock
Around line 167 there is already a LOCK(bitdb.cs_db) that covers everything. Re-locking is useless.
2012-08-27 15:08:20 +03:00
Luke Dashjr
1837696580 Bugfix: Move boost::interprocess Win32 workaround to Bitcoin-Qt sources, rather than hacking boost in gitian 2012-08-27 00:49:23 +00:00
Gavin Andresen
d5a52d9b3e Alert system DoS prevention
This fixes two alert system vulnerabilities found by
Sergio Lerner; you could send peers unlimited numbers
of invalid alert message to try to either fill up their
debug.log with messages and/or keep their CPU busy
checking signatures.

Fixed by disconnecting/banning peers if they send 10 or more
bad (invalid/expired/cancelled) alerts.
2012-08-26 17:08:18 -04:00
Gavin Andresen
772351b0d5 Merge branch '2012_08_progressbarwin' of git://github.com/laanwj/bitcoin 2012-08-25 11:14:11 -04:00
Gavin Andresen
9db9642db4 Merge branch 'nozeroout' of git://github.com/sipa/bitcoin 2012-08-25 11:05:59 -04:00
Gavin Andresen
b9c078ea96 Merge branch 'checkpoint' 2012-08-25 11:05:24 -04:00
Wladimir J. van der Laan
12324c1693 Update Czech translation from Transifex 2012-08-25 10:19:35 +02:00
Luke Dashjr
bc8d832335 Abstract all IPC communication to qtipcserver 2012-08-24 16:59:27 +00:00
Wladimir J. van der Laan
382b75f528 Override progress bar on platforms with segmented progress bars
Windows & WindowsXP style have a problem with displaying the block progress.
Add a custom stylesheet as workaround, but only when one of those renderers is active,
otherwise leave the theme alone (issue #1071).
2012-08-24 15:01:07 +02:00
Pieter Wuille
af1c6b93b7 Merge pull request #1699 from laanwj/2012_08_securealloc
Handle locked pages more robustly (Fixes issue #1462)
2012-08-24 04:38:57 -07:00
Philip Kaufmann
9fd537965d Qt: add copyrightLabel to aboutdialog.ui
- add a new label, which can be updated independently from the whole
  license information stuff
- the benefit is, we don't need to re-translate that whole wall of text
  every year the copyright info changes
- update to the same copyright string we use in the source and in the
  bitcoin-qt.exe meta-data information
- removes an obsolete entry from the ui-file
2012-08-24 13:04:10 +02:00
Pieter Wuille
65ce215641 Make 0-value outputs non-standard 2012-08-24 12:15:12 +02:00
Gregory Maxwell
c68c4bc7a4 Merge pull request #1672 from gmaxwell/filter_listunspent
Listunspent txout address filtering and listaddressgroupings
2012-08-24 00:46:24 -07:00
Gregory Maxwell
b1093efa83 Change CWallet addressgrouping to use CTxDestination instead of strings.
This is cleanup for the listaddressgroupings code. Also add some
real help text.
2012-08-24 03:28:45 -04:00
Philip Kaufmann
f09e8fcd33 Qt: show mined transactions at depth 1
- before, we used to show them in GUI when depth >= 2, which could lead to
  confusion of users, as the RPC behaviour already showed the Tx
2012-08-24 08:52:12 +02:00
Gregory Maxwell
bdab0cf58c Avoid leaving return types or function attributes on their own lines. 2012-08-24 02:48:19 -04:00
Luke Dashjr
e07c8e9123 Treat generation (mined) transactions less different from receive transactions
- Show address receiving the generation, and include it in the correct "account"
- Multiple entries in listtransactions output if the coinbase has multiple outputs to us
2012-08-23 23:20:01 +00:00
Gregory Maxwell
1bcd3f26c0 Merge pull request #1431 from luke-jr/opt_ipv6
Make IPv6 support optional again (defaults to enabled)
2012-08-23 14:17:35 -07:00
Luke Dashjr
9655d73f49 Allow building with IPv6 support, but it disabled by default 2012-08-23 21:01:01 +00:00
Luke Dashjr
45beb88966 Bugfix: Make USE_UPNP=- work with makefile.{linux-mingw,mingw,osx} too 2012-08-23 21:00:57 +00:00
Luke Dashjr
e422bebbdc Make IPv6 support buildtime-optional again (defaults to enabled) 2012-08-23 20:49:51 +00:00
Wladimir J. van der Laan
05fa0de6d8 Add icon for "About Qt" in menu
Use the built-in icon that is also used in the dialog box itself.
2012-08-23 21:57:20 +02:00
Gregory Maxwell
92735bca31 Add txout address filtering to listunspent.
This applies on top of the coincontrol listaddressgroupings patch
and makes finding eligible outputs from the groups returned
by listaddressgroupings possible.
2012-08-23 15:55:50 -04:00
coderrr
22dfd73598 Add address groupings RPC from the coincontrol patches.
Signed-off-by: Gregory Maxwell <greg@xiph.org>
2012-08-23 15:55:42 -04:00
Luke Dashjr
c3f95ef13f Choose reasonable "smart" times to display for transactions
Logic:
- If sending a transaction, assign its timestamp to the current time.
- If receiving a transaction outside a block, assign its timestamp to the current time.
- If receiving a block with a future timestamp, assign all its (not already known) transactions' timestamps to the current time.
- If receiving a block with a past timestamp, before the most recent known transaction (that we care about), assign all its (not already known) transactions' timestamps to the same timestamp as that most-recent-known transaction.
- If receiving a block with a past timestamp, but after the most recent known transaction, assign all its (not already known) transactions' timestamps to the block time.
2012-08-23 18:38:22 +00:00
Luke Dashjr
bdbfd2329a JSON-RPC: Add "blocktime" and (for wallet transactions) "timereceived" to transaction Object outputs 2012-08-23 18:30:30 +00:00
Luke Dashjr
9c7722b7c5 Store a fixed order of transactions (and accounting) in the wallet
For backward compatibility, new accounting data is stored after a \0 in the comment string.
This way, old versions and third-party software should load and store them, but all actual use (listtransactions, for example) ignores it.
2012-08-23 18:18:20 +00:00
Jeff Garzik
cf78183fad Merge pull request #1707 from xanatos/patch-7
Removed useless assignment
2012-08-23 06:41:02 -07:00
xanatos
331544bc37 Spaces in strings
One added space + one removed space.
2012-08-23 15:19:13 +03:00
xanatos
b765385a3e Removed useless assignment
nLoadWalletRet is already equal to DB_NEED_REWRITE (we are in an if)
2012-08-23 14:47:00 +03:00
Wladimir J. van der Laan
0b886ad1bd Make CCrypter use LockedPageManager to manage locked pages
Replace direct calls to mlock.

Also, change the class to lock the memory areas in the constructor and unlock them again in the destructor. This makes sure that locked pages won't leak.
2012-08-23 06:55:35 +02:00
Wladimir J. van der Laan
e95568b78d Handle locked pages more robustly (Fixes issue #1462)
Memory locks do not stack, that is, pages which have been locked several times by calls to mlock()
will be unlocked by a single call to munlock(). This can result in keying material ending up in swap when
those functions are used naively. In this commit a class "LockedPageManager" is added
that simulates stacking memory locks by keeping a counter per page.
2012-08-23 06:55:35 +02:00
Gregory Maxwell
a159d6caf0 Merge pull request #1694 from sipa/fix_netloops
Fix infinite loops in connection logic
2012-08-22 07:15:03 -07:00
Wladimir J. van der Laan
ba1cdb6883 Merge pull request #1701 from laanwj/2012_08_pull_transifex
Update translations from transifex
2012-08-22 05:09:29 -07:00
Wladimir J. van der Laan
d9725378b0 Update translations from transifex 2012-08-22 14:05:01 +02:00
Pieter Wuille
f161a2c211 Fix infinite loops in connection logic 2012-08-22 13:35:33 +02:00
Pieter Wuille
1a3dcca8f4 Merge pull request #1695 from sipa/noloadorphan
Do not accept orphan blocks in -loadblock mode
2012-08-22 04:32:39 -07:00
Gavin Andresen
80cfc3a485 Checkpoint at block 193,000 2012-08-21 22:50:00 -04:00
Gavin Andresen
f39ab4c8d0 Merge branch 'testdata' of git://github.com/TheBlueMatt/bitcoin 2012-08-21 13:58:24 -04:00
Pieter Wuille
5c88e3c108 Do not accept orphan blocks in -loadblock mode 2012-08-21 19:18:53 +02:00
Jeff Garzik
1954d40691 Merge pull request #1493 from jgarzik/unlocked-rpc
RPC: add facility to enable RPCs to run outside cs_main, wallet locks
2012-08-21 09:22:13 -07:00
Jeff Garzik
0e1d3551da RPC: add facility to enable RPCs to run outside cs_main, wallet locks
Use with 'stop' and 'help' RPCs.

This provides a facility to individually evaluate the locking for an RPC, and
potentially make it more parallel.
2012-08-21 12:03:52 -04:00
Gavin Andresen
cd58f05894 Restore OSX 10.5 compatibility (do not use pthread_setname_np) 2012-08-21 12:00:05 -04:00
Gavin Andresen
b4b7ed1915 Fix 32-bit build error: include util.h to get int64 typedef 2012-08-21 11:59:59 -04:00
Jeff Garzik
5f2b41d54d Merge pull request #1693 from jgarzik/rpcwallet
Move code to new modules rpcwallet.cpp, rpcblockchain.cpp
2012-08-21 08:44:21 -07:00
Jeff Garzik
c625ae04d2 RPC, cosmetic: move more RPC code to new rpcblockchain.cpp module 2012-08-21 11:03:38 -04:00
Jeff Garzik
e3bc569865 RPC, cosmetic: move wallet-related RPCs to new rpcwallet.cpp module 2012-08-21 10:38:57 -04:00
Pieter Wuille
143acc7672 Merge pull request #1687 from gavinandresen/quietunit
Suppress output when running unit tests.
2012-08-21 07:07:51 -07:00
Gregory Maxwell
4a4a0c1196 Merge pull request #1690 from gavinandresen/signrawtx_null
Allow signrawtransaction '...' null null 'hashtype'
2012-08-21 06:40:50 -07:00
Jeff Garzik
a2168d94c0 RPC: submitblock returns null on success, string on error 2012-08-21 02:41:46 -04:00
Jeff Garzik
7600e7fc39 RPC, cosmetic: Create rpcmining.cpp as new home for mining-related RPC code 2012-08-21 02:21:33 -04:00
Jeff Garzik
ddd1ffb4f1 RPC, cosmetic: de-indent getblocktemplate() 2012-08-21 02:06:09 -04:00
Jeff Garzik
79f2525ab6 RPC: split new 'submitblock' out of 'getblocktemplate' 2012-08-21 02:02:06 -04:00
Gavin Andresen
cc6dfd1f4b Allow signrawtransaction '...' null null 'hashtype'
Allows the user to pass null as the second or third parameter
to signrawtransaction, in case you need to (for example) fetch
private keys from the wallet but want to specify the hash type.
2012-08-20 17:19:13 -04:00
Gregory Maxwell
b86da2abe8 Merge pull request #1689 from gavinandresen/rawtx_singlefix
When using SIGHASH_SINGLE, only sign inputs that have corresponding outputs
2012-08-20 12:59:50 -07:00
Gavin Andresen
d5e7b61173 When using SIGHASH_SINGLE, do not sign inputs that have no corresponding outputs.
This fixes issue #1688
2012-08-20 14:06:27 -04:00
Matt Corallo
da9e86c3b6 Allow setting a different linker than compiler in makefile.unix 2012-08-20 12:12:41 -04:00
Matt Corallo
fc4743faa8 Add data-driven transaction tests. 2012-08-20 12:12:41 -04:00
Matt Corallo
336a0abbbb Add a few test cases to data-driven script tests. 2012-08-20 12:12:41 -04:00
Gavin Andresen
4d51be1cf3 Suppress output when running unit tests.
This does two things:
1) Now does not output to debug.log if -printtodebugger flag is passed
2) Unit tests set -printtodebugger so only test results are output to stdout

Note that -printtodebugger only actually prints to the debugger on Windows.
2012-08-20 11:33:20 -04:00
Gavin Andresen
d18f2fd9d6 Reject block.nVersion<=1 blocks if network has upgraded to version=2
If 950 of the last 1,000 blocks are nVersion=2, reject nVersion=1
(or zero, but no bitcoin release has created block.nVersion=0) blocks
-- 75 of last 100 on testnet3.

This rule is being put in place now so that we don't have to go
through another "express support" process to get what we really
want, which is for every single new block to include the block height
in the coinbase.
2012-08-20 10:46:07 -04:00
Gavin Andresen
de237cbfa4 Block height in coinbase as a new block rule
"Version 2" blocks are blocks that have nVersion=2 and
have the block height as the first item in their coinbase.
Block-height-in-the-coinbase is strictly enforced when
version=2 blocks are a supermajority in the block chain
(750 of the last 1,000 blocks on main net, 51 of 100 for
testnet). This does not affect old clients/miners at all,
which will continue producing nVersion=1 blocks, and
which will continue to be valid.
2012-08-20 10:46:07 -04:00
Gavin Andresen
3fcec0d4a0 Set block.nVersion to fix miner unit test 2012-08-20 10:46:07 -04:00
Jeff Garzik
b3a570d158 Merge pull request #1641 from jgarzik/mempool
Add 'mempool' P2P command, and extend 'getdata' behavior
2012-08-20 07:21:34 -07:00
Philip Kaufmann
30c8a40847 fix a comment in addrman.cpp 2012-08-18 16:45:24 +02:00
Wladimir J. van der Laan
8765d20b1e Merge pull request #1680 from Diapolo/add_message_on_blockimport
add splashscreen message when importing blocks via -loadblock
2012-08-17 11:29:43 -07:00
Matt Corallo
8555a3e3cc Remove useless non-cross-platform tests. 2012-08-17 12:40:09 -04:00
Wladimir J. van der Laan
a108d3defb Merge pull request #1607 from Diapolo/Qt_Win_exe_desc
Bitcoin-Qt (Windows only): extend Resource File
2012-08-17 08:55:54 -07:00
Jeff Garzik
dabb95b892 Merge pull request #1678 from Diapolo/LoadExternalBlockFile_add_timer
log how long LoadExternalBlockFile() takes in ms (Benchmark)
2012-08-17 08:45:11 -07:00
Philip Kaufmann
2d914f89fe add splashscreen message when importing blocks via -loadblock 2012-08-17 14:21:17 +02:00
Philip Kaufmann
1e7027b41e fix a compiler sign warning in OpenBlockFile() 2012-08-17 10:35:51 +02:00
Philip Kaufmann
746f502a79 log how long LoadExternalBlockFile() takes in ms (Benchmark) 2012-08-17 00:14:40 +02:00
Philip Kaufmann
4b94f4e0ed Bitcoin-Qt (Windows only): extend Resource File
- extend bitcoin-qt.rc to include meta information, which is displayed on
  Windows, when looking in the executable properties and selecting
  "Details"
- does currently NOT include version information, this is scheduled
  for later releases
- for RC-file documentation see:
  http://msdn.microsoft.com/en-us/library/windows/desktop/aa381058%28v=vs.85%29.aspx
2012-08-14 11:16:46 +02:00
Wladimir J. van der Laan
0825aee8f4 Merge pull request #1649 from Diapolo/optionsdialog
small UX update for optionsdialog
2012-08-13 21:17:39 -07:00
Wladimir J. van der Laan
a55ed9d5bb Merge pull request #1614 from Diapolo/Qt_Win_enable_DEP
Bitcoin-Qt (Windows only): enable DEP for bitcoin-qt.exe
2012-08-13 21:01:17 -07:00
Gregory Maxwell
14486dc0e2 Merge pull request #936 from luke-jr/gmp_bip
BIP22: getblocktemplate
2012-08-13 10:21:33 -07:00
Wladimir J. van der Laan
c23b6fd688 Revert "Make this error message similar to the others"
This reverts commit dc1e5ad191.

The new error message was not correct, as it refers to the total balance, not an account.
2012-08-12 21:35:39 +02:00
Wladimir J. van der Laan
198947c19f Merge pull request #1661 from laanwj/2012_08_stringsupdate
Update English translation strings
2012-08-09 08:32:18 -07:00
Gregory Maxwell
765654dae8 Merge pull request #1655 from gmaxwell/signrawtransaction_fix_missing
Correctly handle missing inputs in signrawtransaction. Fixes #1654.
2012-08-09 05:56:03 -07:00
Jeff Garzik
2c006b0b3e Merge pull request #1658 from TheBlueMatt/qttest
Fix several issues in the Qt unit tests.
2012-08-07 17:59:06 -07:00
Matt Corallo
c5f90cd88b Fix test_bitcoin build in makefile.linux-mingw 2012-08-08 00:20:48 +02:00
Wladimir J. van der Laan
3a50cd2193 Update English translation strings
This is the last time for 0.7.0. We should avoid message changes
until the release. Translators can use the remaining time to update their languages on
Transifex.

The other languages need to be merged from Transifex just before release.
2012-08-07 21:10:03 +02:00
Matt Corallo
2bc15836be Fix Qt test cases by moving address checks to parseBitcoinURI
Makes sense in case bitcoin URIs eventually allow invalid addresses
as a part of some larger future payment scheme.
2012-08-07 19:37:02 +02:00
Matt Corallo
319236afa2 Fix Win32 compiling of qt/test/uritests.cpp 2012-08-07 19:36:59 +02:00
Matt Corallo
026594e269 Return !0 when qt tests fail. 2012-08-07 19:36:54 +02:00
fanquake
dc1e5ad191 Make this error message similar to the others 2012-08-07 22:39:19 +08:00
Gregory Maxwell
3557f99cf5 Correctly handle missing inputs in signrawtransaction. Fixes #1654.
Signrawtransaction rpc was crashing when some inputs were unknown,
and even with that fixed was failing to handle all the known inputs
if there were unknown inputs in front of them. This commit instead
attempts to fetch inputs one at a time.
2012-08-06 00:37:28 -04:00
Philip Kaufmann
3d88c9b4d3 Bitcoin-Qt (Windows only): enable DEP for bitcoin-qt.exe
- this enables DEP on all Windows version which support the
  SetProcessDEPPolicy() call in Kernel32.dll
- use a dynamic approach via GetProcAddress() to not rely on headers or
  compiler libs
- this is the same way the Tor-project does it
2012-08-03 14:51:51 +02:00
Luke Dashjr
44427fa833 Merge branch 'gmp_bip_0.6.0' into gmp_bip
Conflicts:
	src/bitcoinrpc.cpp
2012-08-03 01:12:55 +00:00
Luke Dashjr
3390014fd0 Minimal BIP 22 (getblocktemplate) support
- Replaces getmemorypool with new getblocktemplate
- Add missing keys: coinbaseaux, target, mutable, noncerange, sigoplimit, sizelimit, and height
- Accept and send parameter Objects, checking "mode" key if present
- Return rejection reason "rejected" for submit mode
2012-08-03 01:02:51 +00:00
Jeff Garzik
dd199d0ebd Merge pull request #1650 from Diapolo/spelling_fixes
fix further spelling errors / remove a tab in the source
2012-08-02 14:36:45 -07:00
Wladimir J. van der Laan
88bd012003 Merge pull request #1644 from Diapolo/update_translations
Translations update 2012-08-01 (fetched from Transifex)
2012-08-02 12:27:11 -07:00
Philip Kaufmann
efdcf94174 fix further spelling errors / remove a tab in the source 2012-08-02 10:09:29 +02:00
Philip Kaufmann
4aaa4313e7 small UX update for optionsdialog
- add enableApplyButton() and disableApplyButton() to optionsdialog.{h/cpp}
- they are used to ensure the Ok button does not get disabled, when Apply needs to be disabled (standard UX should allow Ok always to dismiss the dialog and only disable it, when we have a faulty proxy IP)
- disable Apply after initially loading the settings, as nothing new needs to be saved
- remove orphan settings from optionsdialog.ui that are default anyway
2012-08-02 09:05:10 +02:00
Philip Kaufmann
75578d60f3 only update cached values in ClientModel::updateTimer() when they are changed 2012-08-01 23:32:32 +02:00
Philip Kaufmann
68acc1b4cb Translations update 2012-08-01 (fetched from Transifex) 2012-08-01 22:22:41 +02:00
Gregory Maxwell
8ce7915aad Merge pull request #1612 from luke-jr/opti_getblkhash
Optimize JSON-RPC getblockhash
2012-08-01 11:49:26 -07:00
Luke Dashjr
1be064190e Optimize JSON-RPC getblockhash
- If the height is in the first half, start at the genesis block and go up, rather than at the top
- Cache the last lookup and use it as a reference point if it's close to the next request, to make linear lookups always fast
2012-08-01 18:23:30 +00:00
Jeff Garzik
f81e6f779b Merge pull request #1632 from luke-jr/spelling
Fix spelling and grammar errors
2012-08-01 10:56:47 -07:00
Luke Dashjr
b49f1398a1 Bugfix: Correct English grammar regarding "'s" 2012-08-01 17:50:00 +00:00
Luke Dashjr
3c726dd3c0 Bugfix: Use standard BTC unit in comments 2012-08-01 17:49:57 +00:00
Luke Dashjr
814efd6f1f Bugfix: Fix a variety of misspellings 2012-08-01 17:49:51 +00:00
Philip Kaufmann
e6bc9c35f3 Update Warning-strings to use a standard-format
- ensure warnings always start with "Warning:" and that the first
  character after ":" is written uppercase
- ensure the first sentence in warnings ends with an "!"
- remove unneeded spaces from Warning-strings
- add missing Warning-string translation
- remove a "\n" and replace with untranslatable "<br><br>"
2012-08-01 19:33:32 +02:00
Jeff Garzik
06e0e1c853 Merge pull request #1465 from Diapolo/NOUI_showSSLVersion
write used OpenSSL library version to debug.log
2012-08-01 10:08:45 -07:00
Jeff Garzik
b5029b87c8 Merge pull request #1396 from rebroad/NoShrinkOption
Make truncating the debug.log file an option.
2012-08-01 09:41:50 -07:00
Jeff Garzik
a823faecf1 Merge pull request #1344 from rebroad/AskForTimeFormat
Unless debugging, show a more useful format for the askfors
2012-08-01 09:08:00 -07:00
Jeff Garzik
0ecbd46fe7 Merge pull request #1343 from rebroad/MisbehavingDelta
Show when node is misbehaving, not just at the point that it gets banned...
2012-08-01 09:06:57 -07:00
Jeff Garzik
05a85b2b38 Add 'mempool' P2P command, and extend 'getdata' behavior
to permit downloading of mempool transactions from the remote peer.
2012-07-31 17:42:35 -04:00
Wladimir J. van der Laan
3c83387c29 Merge pull request #1635 from Diapolo/update_helpMessage
update HelpMessage()
2012-07-28 01:05:43 -07:00
Wladimir J. van der Laan
c1aed4eff4 Merge pull request #1594 from Diapolo/GUI_testnet3_fix
small update for BitcoinGUI::setNumBlocks() function
2012-07-27 05:54:19 -07:00
Philip Kaufmann
6986c779f0 update HelpMessage()
- place "-?" option at first
- re-work description and "\n" usage for Gavins new block creation options
  to better match current description syntax
- ensure no "\n" is in translated strings, which is better for Transifex
2012-07-27 14:03:37 +02:00
Wladimir J. van der Laan
2e53709f17 Merge pull request #1571 from Diapolo/optionsdialog_cleanup
GUI: optionsdialog cleanup
2012-07-27 04:08:03 -07:00
Gregory Maxwell
a9d811a976 Switch testnet3's message bytes to avoid connecting to old nodes.
The new bytes are based on "11" to appeal to Gavin's 11 fetish.

This breaks existing testnet3 nodes as the blockchain files
are also versioned.  To upgrade a node delete everything
except wallet.dat from your .bitcoin/testnet3 folder.
2012-07-26 17:50:23 -04:00
Gavin Andresen
e0e54740b1 Handle should-never-happen case of orphan in mempool 2012-07-26 15:29:59 -04:00
Gavin Andresen
c555400ca1 When creating new blocks, sort 'paid' area by fee-per-kb
Modify CreateNewBlock so that instead of processing all transactions
in priority order, process the first 27K of transactions in
priority order and then process the rest in fee-per-kilobyte
order.

This is the first, minimal step towards better a better fee-handling
system for both miners and end-users; this patch should be easy
to backport to the old versions of Bitcoin, and accomplishes the
most important goal-- allow users to "buy their way in" to blocks
using transaction fees.
2012-07-26 14:24:19 -04:00
Gavin Andresen
29c8fb0d93 Merge branch 'checknewblock' of git://github.com/luke-jr/bitcoin 2012-07-26 13:55:27 -04:00
Gavin Andresen
986a78979e Merge branch 'bugfix_CNBerr' of git://github.com/luke-jr/bitcoin 2012-07-26 13:55:21 -04:00
Wladimir J. van der Laan
ebeafe5b0b Update translation messages
- No core strings changed since last time
- Re-add line numbers in .ts file as this is marginally easier for translators (see #1227)
2012-07-26 04:20:21 +02:00
Wladimir J. van der Laan
c32ad4594e Merge pull request #1624 from Diapolo/fix_typo_log_file
fix typo "logfile" -> "log file"
2012-07-25 19:15:01 -07:00
Wladimir J. van der Laan
6892cb056d Merge pull request #1630 from fanquake/master
Fix Typo
2012-07-25 19:09:49 -07:00
Michael Ford
50c85be6fc Typo 2012-07-26 10:07:43 +08:00
Gregory Maxwell
f00ffc6c00 Merge pull request #1615 from Diapolo/net_noExtIp_IPv6only
do not use external IPv4 discovery, when -onlynet="IPv6"
2012-07-25 11:11:25 -07:00
Stephane Glondu
2acfa219aa Fix spelling of successfully 2012-07-24 10:39:09 +02:00
Philip Kaufmann
64c0020ff8 fix typo "logfile" -> "log file" 2012-07-23 08:22:04 +02:00
fanquake
26227db843 Typo 2012-07-23 12:03:48 +08:00
fanquake
951f7d35d6 Fix Typo 2012-07-23 11:59:02 +08:00
Luke Dashjr
90d95b6323 Replace all occurances of license.txt with COPYING, including naming the file COPYING.txt on Windows 2012-07-22 21:49:09 +00:00
Philip Kaufmann
1376a542b4 optionsdialog cleanup
- remove duplicate includes, that are already present in ui_optionsdialog.h
- change QIntValidator to not allow 0 as port-number
- re-order some function calls to match the Ui element order, for better readbility and to prepare for the addition of further IPv6 and Tor proxy options
- restat warning for the language selection is only shown, when the language was changed (not on simply activating the Ui element)
- split check for object == ui->proxyIp into seperate if-clause
- micro-optimize the code in the above mentioned if-clause
- unify used format for comments in the code
- introduce handleProxyIpValid() function, which handles UI elements and the
save button states for valid/invalid proxy IPs
2012-07-22 01:12:11 +02:00
Philip Kaufmann
a7f82808c4 fix OpenSSL not written as proper noun in some comments 2012-07-21 12:44:54 +02:00
Philip Kaufmann
a76552ce47 do not use external IPv4 discovery, when -onlynet="IPv6" 2012-07-20 13:23:02 +02:00