Jeff Garzik
cf78183fad
Merge pull request #1707 from xanatos/patch-7
...
Removed useless assignment
2012-08-23 06:41:02 -07: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
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
Jeff Garzik
a483c27704
Merge pull request #1691 from jgarzik/submitwork
...
Add 'submitblock' RPC, split out from 'getblocktemplate' RPC
2012-08-20 23:49:45 -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
Jeff Garzik
af3b5ea569
Merge pull request #1526 from gavinandresen/heightincoinbase
...
Transition to requiring block height in block coinbases
2012-08-20 12:57:01 -07: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
Jeff Garzik
89a7bd644f
Merge pull request #1686 from Diapolo/fix_comment
...
fix a comment in addrman.cpp
2012-08-18 09:15:11 -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
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
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
Jeff Garzik
f81e6f779b
Merge pull request #1632 from luke-jr/spelling
...
Fix spelling and grammar errors
2012-08-01 10:56:47 -07:00
Jeff Garzik
ffe47d6d5d
Merge pull request #1636 from Diapolo/Warning_string
...
Update Warning-strings to use a standard-format
2012-08-01 10:56:17 -07:00
Jeff Garzik
0f460644e3
Add doc/release-notes.txt, temporary for 0.7 release
2012-08-01 13:54:15 -04: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
Jeff Garzik
fa914f1dda
Merge pull request #1616 from Diapolo/OpenSSL_typo
...
fix OpenSSL not written as proper noun in some comments
2012-07-21 06:59:25 -07:00
Jeff Garzik
e3132693fa
Merge pull request #1610 from fanquake/master
...
Update a link to dev resources
2012-07-18 09:45:06 -07:00
Jeff Garzik
4b76541c25
Merge pull request #1609 from fanquake/master
...
Docs tidy up + fixes
2012-07-18 07:24:49 -07:00
Jeff Garzik
6e3a1a3742
Merge pull request #1304 from rebroad/ShowBlockTimestamp
...
Show block timestamp
2012-07-05 15:28:42 -07:00
Jeff Garzik
698b9f3095
bitcoinrpc.cpp: Removed outdated comment
...
Fixes #1373
2012-07-05 18:18:15 -04:00
Jeff Garzik
b47d2bc164
Merge pull request #1554 from jgarzik/dup-gethash
...
Remove duplicate GetHash() in ConnectBlock
2012-07-05 10:06:55 -07:00
Jeff Garzik
fe70b09c42
Merge pull request #1555 from TheBlueMatt/warnings
...
Fix remaining compile warnings.
2012-07-04 08:34:11 -07:00
Jeff Garzik
f77654a0e9
CTxMemPool: eliminate redundant lock, GetHash() call
...
::addUnchecked()'s only caller already takes the necessary lock,
and has already calculated the TX's hash.
2012-07-04 01:12:44 -04:00
Jeff Garzik
c729dbb6d2
Merge pull request #1512 from jgarzik/json-batch
...
Support JSON-RPC 2.0 request batches
2012-07-03 20:08:36 -07:00
Jeff Garzik
613389019e
RPC: add support for JSON-RPC 2.0-style request batching
...
If the top-level object is an array, it is assumed to be an array of
JSON-RPC requests. An array is returned, containing one response (error or
not) per request, in the order submitted.
In a slight change in semantics, batched requests -always- return
an HTTP 200 OK status, even ones full of invalid or incorrect requests.
2012-07-03 22:53:57 -04:00
Jeff Garzik
c6494d82fa
RPC: break out high level JSON-RPC req/resp into their own functions
...
This prepares for JSON-RPC 2.0 batches.
2012-07-03 22:53:30 -04:00
Jeff Garzik
3898609304
Merge pull request #1546 from gmaxwell/allowsamenetinbound
...
Do not consider inbound peers for outbound network group exclusion.
2012-07-03 19:51:08 -07:00
Jeff Garzik
3ee48ba20a
Merge pull request #1548 from TheBlueMatt/warnings
...
Fix signed/unsigned warnings in {script,serialize}.h (fixes #1541 )
2012-07-03 19:50:06 -07:00
Jeff Garzik
da1103f4f8
Merge pull request #1545 from TheBlueMatt/diffsendbuffer
...
Minor send buffer changes
2012-07-01 18:17:34 -07:00
Jeff Garzik
18e8e43715
RPC getpeerinfo: s/height/startingheight/ for returned nStartingHeight value
2012-06-30 23:40:26 -04:00
Jeff Garzik
eca96d7118
Merge pull request #1540 from fanquake/master
...
Fix a Couple Typos
2012-06-30 07:25:32 -07:00
Jeff Garzik
ac8d2b1df7
Merge pull request #1537 from Diapolo/fix_awesome_typo
...
fix an awesome typo in OptionsDialog ^^
2012-06-29 16:18:45 -07:00
Jeff Garzik
1006f0707e
RPC: add 'getpeerinfo', returning easy-to-retrieve per-CNode data
2012-06-29 17:24:53 -04:00
Jeff Garzik
a590aae017
Merge pull request #1532 from fanquake/master
...
Fix a couple typos
2012-06-29 06:15:33 -07:00
Jeff Garzik
70ab73a008
Create new rpcnet module, and move 'getconnectioncount' RPC to it
2012-06-28 23:18:38 -04:00
Jeff Garzik
e75acc006e
Merge pull request #1511 from jgarzik/quieten2
...
Quieten 'getdata' P2P message output
2012-06-27 09:06:59 -07:00
Jeff Garzik
8a6ea5d687
Merge pull request #1520 from TheBlueMatt/debian
...
Update contrib/debian and remove system json_spirit patch.
2012-06-25 15:04:10 -07:00
Jeff Garzik
d887f54494
Document -debugnet option in command line help.
...
Fixes #1507
2012-06-24 10:38:02 -04:00
Jeff Garzik
983e4bdef0
Quieten 'getdata' P2P message output
...
Output one message per getdata, not one message per 'inv' entry.
2012-06-23 21:38:33 -04:00
Jeff Garzik
d62a1947be
Merge pull request #1458 from jgarzik/tracenet
...
Introduce -tracenet option, thereby quieting some redundant debug messages
2012-06-22 10:13:31 -07:00
Jeff Garzik
d07eaba195
Introduce -debugnet option, thereby quieting some redundant debug messages
...
Prior to this change, each TX typically generated 3+ debug messages,
askfor tx 8644cc97480ba1537214 0
sending getdata: tx 8644cc97480ba1537214
askfor tx 8644cc97480ba1537214 1339640761000000
askfor tx 8644cc97480ba1537214 1339640881000000
CTxMemPool::accept() : accepted 8644cc9748 (poolsz 6857)
After this change, there is only one message for each valid TX received
CTxMemPool::accept() : accepted 22a73c5d8c (poolsz 42)
and two messages for each orphan tx received
ERROR: FetchInputs() : 673dc195aa mempool Tx prev not found 1e439346fc
stored orphan tx 673dc195aa (mapsz 19)
The -debugnet option, or its superset -debug, will restore the full debug
output.
2012-06-22 13:11:57 -04:00
Jeff Garzik
cb1fcde2f4
Merge pull request #1502 from jgarzik/getrawmempool
...
RPC: add 'getrawmempool', listing all transaction ids in memory pool
2012-06-22 09:59:19 -07:00
Jeff Garzik
25d5c19522
RPC: add 'getrawmempool', listing all transaction ids in memory pool
2012-06-22 11:43:34 -04:00
Jeff Garzik
219abac227
Merge pull request #1488 from sipa/noowner
...
Remove CTxDB::ReadOwnerTxes.
2012-06-20 06:46:39 -07:00
Jeff Garzik
883a310904
Merge pull request #1435 from TheBlueMatt/mingwbuild
...
Fix Mingw64 build (missing headers according to M$ documentation)
2012-06-09 12:40:15 -07:00
Jeff Garzik
b92095f18c
DoS_tests: fix signed/unsigned comparison warnings
...
test/DoS_tests.cpp: In member function ‘void DoS_tests::DoS_mapOrphans::test_method()’:
test/DoS_tests.cpp:200:41: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
test/DoS_tests.cpp:208:41: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
test/DoS_tests.cpp: In member function ‘void DoS_tests::DoS_checkSig::test_method()’:
test/DoS_tests.cpp:260:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
test/DoS_tests.cpp:267:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
test/DoS_tests.cpp:280:41: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
test/DoS_tests.cpp:307:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
2012-05-24 12:18:50 -04:00
Jeff Garzik
2ae4ad004a
Merge pull request #1387 from Diapolo/rem_unused_rpcdump
...
remove dead "using namespace boost::asio;" from rpcdump.cpp
2012-05-24 09:14:59 -07:00
Jeff Garzik
ec9c902133
Merge pull request #1383 from jgarzik/rawtx
...
JSON-RPC: Add 'sendrawtx' op, for sending pre-built TX's to network
2012-05-24 09:14:04 -07:00
Jeff Garzik
480d44bd0b
rpcdump: include cleanup. move JSONRPCError def to bitcoinrpc.h.
2012-05-23 23:20:07 -04:00
Jeff Garzik
429039d45d
Refactor: move runCommand() to util.cpp
2012-05-23 23:10:59 -04:00
Jeff Garzik
8956453c0d
.gitignore: add test_bitcoin
2012-05-23 21:45:26 -04:00
Jeff Garzik
976c08b68a
JSON-RPC: Add 'sendrawtx' op, for sending pre-built TX's to network
2012-05-23 16:21:25 -04:00
Jeff Garzik
9ac282ca0c
Refactor: add IsChainFile helper. LoadBlockIndex() code movement.
2012-05-23 00:17:07 -04:00
Jeff Garzik
5d0f7c4f47
Merge pull request #1381 from jgarzik/check-deser
...
Prevent crashes due to missing or corrupted database records
2012-05-22 14:39:49 -07:00
Jeff Garzik
78eb2789b2
ProcessMessage(): remove duplicate orphan tx debug message
2012-05-22 15:33:04 -04:00
Jeff Garzik
8fe791e4e2
Prevent crashes due to missing or corrupted blk????.dat records
...
In LoadExternalBlockFile(), errors are already caught... silently.
Add a warning message, even though we do not abort the program due to
load error.
2012-05-22 15:23:17 -04:00
Jeff Garzik
f94b64c2f3
Prevent crashes due to missing or corrupted database records
...
Any problems seen during deserialization will throw an uncaught
exception, crashing the entire bitcoin process. Properly return an
error instead, so that we may at least log the error and gracefully
shutdown other portions of the app.
2012-05-22 15:12:52 -04:00
Jeff Garzik
7b671f52e0
Define BOOST_SPIRIT_THREADSAFE in all makefiles
...
rather than at each include site.
Fixes #1371
2012-05-21 22:25:54 -04:00
Jeff Garzik
ce4cc630c2
Merge pull request #1367 from jgarzik/db-private
...
BDB: restore DB_PRIVATE flag to environment
2012-05-21 09:40:30 -07:00
Jeff Garzik
9c137aaccf
BDB: restore DB_PRIVATE flag to environment
...
Satoshi's commits fdbf76d and c8ad9b8 (SVN import) removed the
DB_PRIVATE flag from the environment. In part, this enables processes
other than bitcoind to examine the active database environment.
However, this incurs a slight performance penalty versus working
entirely within application memory (DB_PRIVATE). Because bitcointools
and other direct-BDB-accessing tools are not used by the vast
majority of users, prefer to default with DB_PRIVATE with the option
of disabling it if needed via -privdb=0.
2012-05-21 12:38:45 -04:00
Jeff Garzik
ffe8b77a61
Further CDBEnv encapsulation work.
2012-05-19 20:46:52 -04:00
Jeff Garzik
94e34fa0ad
CDB::CDB: properly initialize activeTxn to NULL
2012-05-19 20:45:39 -04:00
Jeff Garzik
8b1202c52c
Remove unused nested BDB transaction support
2012-05-19 20:45:39 -04:00
Jeff Garzik
24b57e3c6a
Create CDBEnv::TxnBegin(), and use it in CDB::TxnBegin()
2012-05-19 20:44:31 -04:00
Jeff Garzik
cd9696fc97
Encapsulate BDB environment inside new CDBEnv class
...
Cleans up and organizes several scattered functions and variables related to
the BDB env. Class CDBInit() existed to provide a
guaranteed-via-C++-destructor cleanup of the db environment.
A formal CDBEnv class provides all of this inside a single wrapper.
2012-05-19 20:43:19 -04:00
Jeff Garzik
b52a270538
Reorganize(): remove spurious TxnAbort()
...
If Reorganize() fails, then its caller, CBlock::SetBestChain(),
will call TxnAbort().
Redundant TxnAbort() calls are harmless. The second will return an
error return value, with no other side effects. TxnAbort() return
values are generally never checked. The impact is nil.
2012-05-19 20:40:43 -04:00
Jeff Garzik
cde87ee75c
Merge pull request #1360 from jgarzik/datasync
...
Default to DB_TXN_WRITE_NOSYNC for all transactional operations
2012-05-19 12:33:19 -07:00
Jeff Garzik
394b9298fa
Default to DB_TXN_WRITE_NOSYNC for all transactional operations
...
* This is safer than DB_TXN_NOSYNC, and does not appear to impact
performance.
* Applying this to the dbenv is necessary to avoid many fdatasync(2)
calls on db 5.x
* We carefully and thoroughly flush databases upon shutdown and
other important events already.
2012-05-19 01:25:06 -04:00
Jeff Garzik
d6615a54c6
Merge pull request #1350 from jgarzik/del-deprecated
...
JSON-RPC: remove 'getblocknumber' deprecated RPC
2012-05-18 08:26:40 -07:00
Jeff Garzik
47f48a658d
JSON-RPC: remove 'getblocknumber' deprecated RPC
...
RPC 'getblockcount' should be used instead.
2012-05-17 23:43:00 -04:00
Jeff Garzik
6d64a0bfed
Make orphan logging more verbose, displaying mapOrphanTransactions.size()
...
Old log message:
storing orphan tx df2244f6bc
New log message:
storing orphan tx df2244f6bc (mapsz 51)
Also, trim a few trailing whitespace in main.cpp.
2012-05-17 20:36:55 -04:00
Jeff Garzik
6c513a45d5
Merge pull request #1340 from rebroad/DBFlushDurationReport
...
Report how long DBFlush took.
2012-05-17 17:21:01 -07:00
Jeff Garzik
c0a360ce49
Merge pull request #1345 from Diapolo/strnicmp_Win32
...
Win32: use _strnicmp (ISO C++) instead of deprecated strnicmp (POSIX)
2012-05-17 15:53:38 -07:00
Jeff Garzik
985302c7cc
Merge pull request #1335 from rebroad/IgnoreBuildDir
...
Add build directory to .gitignore, so that it's not tracked.
2012-05-17 11:32:47 -07:00
Jeff Garzik
7563424f32
Merge pull request #1334 from rebroad/Exiting2Exited
...
Corrected grammar. As per Principle Of Least Surprise.
2012-05-17 11:29:09 -07:00
Jeff Garzik
0c7fd94585
Merge pull request #1332 from Diapolo/fix_RenameOver_FileCommit_Win32
...
fix RenameOver() and FileCommit() functions, to not generate compilation errors
2012-05-17 09:34:12 -07:00
Jeff Garzik
cf2f7c30a3
Merge pull request #1295 from jgarzik/txn-retval
...
[FIX] Always check return values of TxnBegin() and TxnCommit()
2012-05-17 08:49:16 -07:00
Jeff Garzik
d17ac27a72
Merge pull request #1316 from jgarzik/dead-code
...
Remove dead code: CTxDB::EraseBlockIndex(), CBlockIndex::EraseBlockFromDisk()
2012-05-17 08:47:54 -07:00
Jeff Garzik
b56843b253
Merge pull request #1198 from jgarzik/addrman
...
Replace BDB-managed addr.dat with bitcoin-managed peers.dat
2012-05-17 08:46:33 -07:00
Jeff Garzik
928d3a011c
CAddrDB: Replace BDB-managed addr.dat with internally managed peers.dat
2012-05-16 22:11:19 -04:00
Jeff Garzik
768e5d52fb
Add new utility functions FileCommit(), RenameOver()
2012-05-16 19:25:25 -04:00
Jeff Garzik
a7d45c5a7a
Remove dead code: CTxDB::EraseBlockIndex(), CBlockIndex::EraseBlockFromDisk()
2012-05-15 13:36:25 -04:00
Jeff Garzik
0fb78eae34
Always check return values of TxnBegin() and TxnCommit()
2012-05-14 01:11:11 -04:00
Jeff Garzik
28d257da11
Merge pull request #1287 from sipa/noirc6
...
Only encode IPv4 addresses in IRC nicks
2012-05-13 11:48:27 -07:00
Jeff Garzik
80af836ce0
Merge pull request #1277 from Diapolo/IPv6_IPv4_strings
...
use "IPv6" and "IPv4" in strings as these are the official spellings
2012-05-12 18:59:31 -07:00
Jeff Garzik
d960a335f8
Merge pull request #1266 from Diapolo/tab_to_space
...
convert 4 tabs into 4 x 4 spaces in bitcoinrpc.cpp
2012-05-12 08:02:57 -07:00
Jeff Garzik
b34c5f3c0f
Merge pull request #1101 from jgarzik/http11
...
Multithreaded JSON-RPC with HTTP 1.1 Keep-Alive support
2012-05-11 09:57:08 -07:00
Jeff Garzik
271f9faf9e
Merge pull request #1254 from jgarzik/mempool-logging
...
CTxMemPool: consolidate two frequently-printed debug.log lines into one
2012-05-11 07:53:08 -07:00
Jeff Garzik
33a53bc13b
CTxMemPool::accept(): do not log FetchInputs failure redundantly
...
FetchInputs already logs failures internally. This commit makes the logging
more consistent with other FetchInputs callsites also.
Prior to this commit, two log lines were logged for one condition:
ERROR: FetchInputs() : de15fde415 mempool Tx prev not found a2c75da227
ERROR: CTxMemPool::accept() : FetchInputs failed de15fde415
After this commit, only one line is logged:
ERROR: FetchInputs() : e0507ab2c7 mempool Tx prev not found 9a620262cd
2012-05-10 20:31:46 -04:00
Jeff Garzik
133dce6a37
CTxMemPool: consolidate two frequently-printed debug.log lines into one
...
Previously, a single TX would trigger two log lines in quick succession,
addUnchecked(): size 152
CTxMemPool::accept() : accepted c4cfdd48b7
After this change, only one log line is used:
CTxMemPool::accept() : accepted 98885e65db (poolsz 26)
2012-05-10 20:20:31 -04:00