bitcoin:eloipool.git
8 years agoBugfix: Only account shares for dynamic targetting after all checks have passed
Luke Dashjr [Tue, 29 Oct 2013 16:48:34 +0000 (16:48 +0000)]
Bugfix: Only account shares for dynamic targetting after all checks have passed

9 years agoBeginnings of dynamic targetting support
Luke Dashjr [Sat, 1 Sep 2012 22:59:24 +0000 (22:59 +0000)]
Beginnings of dynamic targetting support

Only completely variable targets are supported for now.

9 years agoMerge branch 'bugfix_hicb_getMC'
Luke Dashjr [Sat, 1 Sep 2012 23:01:32 +0000 (23:01 +0000)]
Merge branch 'bugfix_hicb_getMC'

9 years agoBugfix: getBlockTemplate: Get work identifier after height-in-coinbase
Luke Dashjr [Sat, 1 Sep 2012 23:01:22 +0000 (23:01 +0000)]
Bugfix: getBlockTemplate: Get work identifier after height-in-coinbase

9 years agoMerge branch 'bip23_basic'
Luke Dashjr [Sat, 1 Sep 2012 10:07:24 +0000 (10:07 +0000)]
Merge branch 'bip23_basic'

9 years agoCompatibility with "BIP 23 Basic Pool Extensions" by adding the expires key to templates
Luke Dashjr [Sat, 1 Sep 2012 10:07:00 +0000 (10:07 +0000)]
Compatibility with "BIP 23 Basic Pool Extensions" by adding the expires key to templates

9 years agoMerge branch 'bip22'
Luke Dashjr [Sat, 1 Sep 2012 10:02:32 +0000 (10:02 +0000)]
Merge branch 'bip22'

9 years agoBugfix: getblocktemplate: coinbasetxn is an Object
Luke Dashjr [Sat, 1 Sep 2012 10:02:22 +0000 (10:02 +0000)]
Bugfix: getblocktemplate: coinbasetxn is an Object

9 years agoMerge branch 'bip22'
Luke Dashjr [Sat, 1 Sep 2012 09:55:10 +0000 (09:55 +0000)]
Merge branch 'bip22'

9 years agoMerge branch 'bugfix_hicb_getMC'
Luke Dashjr [Sat, 1 Sep 2012 09:54:17 +0000 (09:54 +0000)]
Merge branch 'bugfix_hicb_getMC'

9 years agoBugfix: checkShare: Check for work identifier after skipping over height-in-coinbase
Luke Dashjr [Sat, 1 Sep 2012 09:54:11 +0000 (09:54 +0000)]
Bugfix: checkShare: Check for work identifier after skipping over height-in-coinbase

9 years agogetblocktemplate: Initial server-side implementation for current BIP 22
Luke Dashjr [Sat, 1 Sep 2012 09:10:18 +0000 (09:10 +0000)]
getblocktemplate: Initial server-side implementation for current BIP 22

Compatibility with old draft retained with old jsonrpc_getmemorypool module, which is NOT enabled by default.

9 years agoUpdate to use current BIP22 method names for upstream
Luke Dashjr [Sat, 1 Sep 2012 08:48:11 +0000 (08:48 +0000)]
Update to use current BIP22 method names for upstream

getblocktemplate + submitblock

Backward compatibility with earlier BIP22 drafts and bitcoind getmemorypool is retained for now

9 years agoMerge branch 'bugfix_hicb_getMC'
Luke Dashjr [Sat, 1 Sep 2012 09:23:32 +0000 (09:23 +0000)]
Merge branch 'bugfix_hicb_getMC'

9 years agoBugfix: Adapt getMC to height in makeCoinbase
Luke Dashjr [Sat, 1 Sep 2012 09:22:51 +0000 (09:22 +0000)]
Bugfix: Adapt getMC to height in makeCoinbase

Height still needs to be conveyed to finish BIP 34 compliance

9 years agoMerge branch 'cve-2012-2459'
Luke Dashjr [Sat, 1 Sep 2012 05:23:14 +0000 (05:23 +0000)]
Merge branch 'cve-2012-2459'

9 years agoNow that CVE-2012-2459 is publicly disclosed, document "Power Of Two" feature properly
Luke Dashjr [Sat, 1 Sep 2012 05:22:34 +0000 (05:22 +0000)]
Now that CVE-2012-2459 is publicly disclosed, document "Power Of Two" feature properly

9 years agoAvoid flooding warnings under any circumstances
Luke Dashjr [Sat, 1 Sep 2012 03:20:08 +0000 (03:20 +0000)]
Avoid flooding warnings under any circumstances

9 years agoMerge branch 'coinbase_height'
Luke Dashjr [Sat, 1 Sep 2012 02:36:56 +0000 (02:36 +0000)]
Merge branch 'coinbase_height'

9 years agoEncode block height in coinbases using the minimal script encoding
Luke Dashjr [Sat, 1 Sep 2012 02:19:03 +0000 (02:19 +0000)]
Encode block height in coinbases using the minimal script encoding

Required by BIP 34 change

9 years agoClear merkleroots only after changing currentBlock, to avoid races
Luke Dashjr [Fri, 31 Aug 2012 07:50:30 +0000 (07:50 +0000)]
Clear merkleroots only after changing currentBlock, to avoid races

9 years agoBugfix: Avoid race conditions in merkleroot creation
Luke Dashjr [Fri, 31 Aug 2012 07:36:47 +0000 (07:36 +0000)]
Bugfix: Avoid race conditions in merkleroot creation

9 years agoHandle premature merkleMaker.blockUpdate properly
Luke Dashjr [Fri, 31 Aug 2012 07:36:18 +0000 (07:36 +0000)]
Handle premature merkleMaker.blockUpdate properly

9 years agoMerge branch 'bugfix_hicb' into coinbase_height
Luke Dashjr [Fri, 31 Aug 2012 07:00:12 +0000 (07:00 +0000)]
Merge branch 'bugfix_hicb' into coinbase_height

9 years agoBugfix: Restore change to merkleMaker.currentBlock lost in merge
Luke Dashjr [Fri, 31 Aug 2012 07:00:04 +0000 (07:00 +0000)]
Bugfix: Restore change to merkleMaker.currentBlock lost in merge

9 years agoDump block payloads in hex
Luke Dashjr [Fri, 31 Aug 2012 06:50:52 +0000 (06:50 +0000)]
Dump block payloads in hex

9 years agoUpdate block version to 2, but continue accepting version 1 for shares
Luke Dashjr [Fri, 31 Aug 2012 06:49:26 +0000 (06:49 +0000)]
Update block version to 2, but continue accepting version 1 for shares

9 years agoMerge branch 'master' into coinbase_height
Luke Dashjr [Fri, 31 Aug 2012 02:16:23 +0000 (02:16 +0000)]
Merge branch 'master' into coinbase_height

Conflicts:
merklemaker.py

9 years agoMerge branch 'bugfix_final_init'
Luke Dashjr [Thu, 30 Aug 2012 21:32:45 +0000 (21:32 +0000)]
Merge branch 'bugfix_final_init'

9 years agoBugfix: Split final_init between handler plugins
Luke Dashjr [Thu, 30 Aug 2012 21:32:11 +0000 (21:32 +0000)]
Bugfix: Split final_init between handler plugins

Minor performance impact at startup, but necessary to make it modular again

9 years agoMerge branch 'bugfix_proxy_sharetarget'
Luke Dashjr [Thu, 30 Aug 2012 21:18:26 +0000 (21:18 +0000)]
Merge branch 'bugfix_proxy_sharetarget'

9 years agoBugfix: Define a default ShareTarget
Luke Dashjr [Thu, 30 Aug 2012 21:18:04 +0000 (21:18 +0000)]
Bugfix: Define a default ShareTarget

gmp-proxy doesn't set it

9 years agoAttempt to handle circumstances that leave us without knowing bits
Luke Dashjr [Mon, 20 Feb 2012 21:45:03 +0000 (16:45 -0500)]
Attempt to handle circumstances that leave us without knowing bits

10 years agoMerge branch 'sharetarget'
Luke Dashjr [Mon, 30 Jul 2012 04:07:04 +0000 (04:07 +0000)]
Merge branch 'sharetarget'

10 years agoExpose share target to logger as {target} and {_targethex}
Luke Dashjr [Mon, 30 Jul 2012 03:58:19 +0000 (03:58 +0000)]
Expose share target to logger as {target} and {_targethex}

10 years agoMerge branch 'sharetarget'
Luke Dashjr [Mon, 30 Jul 2012 03:31:46 +0000 (03:31 +0000)]
Merge branch 'sharetarget'

10 years agoconfig.py.example: Suggest pdiff1 for both targets
Luke Dashjr [Mon, 30 Jul 2012 03:31:38 +0000 (03:31 +0000)]
config.py.example: Suggest pdiff1 for both targets

10 years agoMerge branch 'sharetarget'
Luke Dashjr [Sun, 29 Jul 2012 08:23:29 +0000 (08:23 +0000)]
Merge branch 'sharetarget'

10 years agoSupport for share targets higher than pdiff 1
Luke Dashjr [Sun, 29 Jul 2012 08:23:11 +0000 (08:23 +0000)]
Support for share targets higher than pdiff 1

10 years agoSave original getmemorypool response on merkletree objects, for debugging
Luke Dashjr [Sun, 1 Jul 2012 18:54:43 +0000 (18:54 +0000)]
Save original getmemorypool response on merkletree objects, for debugging

10 years agoMerge branch 'bugfix_short_cb'
Luke Dashjr [Thu, 21 Jun 2012 17:49:07 +0000 (17:49 +0000)]
Merge branch 'bugfix_short_cb'

10 years agoBugfix: Solve false-positive bad-cb-flag when coinbase prefix is shorter than flag...
Luke Dashjr [Thu, 21 Jun 2012 17:49:00 +0000 (17:49 +0000)]
Bugfix: Solve false-positive bad-cb-flag when coinbase prefix is shorter than flag being filtered

10 years agoLongpoll tracking by username
Luke Dashjr [Thu, 21 Jun 2012 17:04:05 +0000 (17:04 +0000)]
Longpoll tracking by username

10 years agomerklemaker: APOT test
Luke Dashjr [Fri, 15 Jun 2012 17:35:04 +0000 (17:35 +0000)]
merklemaker: APOT test

10 years agoSome checks to react nicer on second exit()
Luke Dashjr [Thu, 7 Jun 2012 14:25:26 +0000 (14:25 +0000)]
Some checks to react nicer on second exit()

10 years agoMerge branch 'bugfix_gmpproxy_leak'
Luke Dashjr [Fri, 18 May 2012 03:06:23 +0000 (03:06 +0000)]
Merge branch 'bugfix_gmpproxy_leak'

10 years agoBugfix: gmp-proxy: clear jsonrpc_getwork._CheckForDupesHACK on longpoll, to avoid...
Luke Dashjr [Fri, 18 May 2012 03:06:15 +0000 (03:06 +0000)]
Bugfix: gmp-proxy: clear jsonrpc_getwork._CheckForDupesHACK on longpoll, to avoid leaking memory too much

10 years agoMerge branch 'bugfix_gmpp_fwd'
Luke Dashjr [Wed, 16 May 2012 23:54:22 +0000 (23:54 +0000)]
Merge branch 'bugfix_gmpp_fwd'

10 years agoBugfix: Really put TrustedForwarders init in the right place this time
Luke Dashjr [Wed, 16 May 2012 23:54:18 +0000 (23:54 +0000)]
Bugfix: Really put TrustedForwarders init in the right place this time

10 years agoMerge branch 'bugfix_gmpp_fwd'
Luke Dashjr [Wed, 16 May 2012 23:41:17 +0000 (23:41 +0000)]
Merge branch 'bugfix_gmpp_fwd'

10 years agoBugfix: Move TrustedForwarders initialization to NetworkServer constructor
Luke Dashjr [Wed, 16 May 2012 23:41:05 +0000 (23:41 +0000)]
Bugfix: Move TrustedForwarders initialization to NetworkServer constructor

Since it isn't set by gmp-proxy, this errored when clients sent X-Forwarded-For

10 years agoDebugging tools (and checks) for POT
Luke Dashjr [Tue, 15 May 2012 14:52:55 +0000 (14:52 +0000)]
Debugging tools (and checks) for POT

10 years agomerkleMaker: New fee-aware _makeBlockSafe method to enforce safety limits (and Greedy)
Luke Dashjr [Tue, 15 May 2012 06:57:39 +0000 (06:57 +0000)]
merkleMaker: New fee-aware _makeBlockSafe method to enforce safety limits (and Greedy)

10 years agoUse BIP22 "obj" transactions when possible
Luke Dashjr [Mon, 14 May 2012 15:56:15 +0000 (15:56 +0000)]
Use BIP22 "obj" transactions when possible

Backward compatibility with hex-only and gmp_fees retained for now

10 years agoAttempt upstream BIP22 getmemorypool requests
Luke Dashjr [Mon, 14 May 2012 15:15:09 +0000 (15:15 +0000)]
Attempt upstream BIP22 getmemorypool requests

10 years agoBackward-compatible support for new BIP 22 getmemorypool longpolling
Luke Dashjr [Sun, 13 May 2012 15:58:41 +0000 (15:58 +0000)]
Backward-compatible support for new BIP 22 getmemorypool longpolling

10 years agoWait until JSONRPCServer is initialized before starting MerkleMaker, so we can skip...
Luke Dashjr [Sun, 13 May 2012 15:52:14 +0000 (15:52 +0000)]
Wait until JSONRPCServer is initialized before starting MerkleMaker, so we can skip needless checks at runtime

10 years agoMerge branch 'bugfix_check_path'
Luke Dashjr [Sun, 13 May 2012 00:47:50 +0000 (00:47 +0000)]
Merge branch 'bugfix_check_path'

10 years agoBugfix: JSONRPCServer: Check that path is actually bytes before subscripting it
Luke Dashjr [Sun, 13 May 2012 00:47:08 +0000 (00:47 +0000)]
Bugfix: JSONRPCServer: Check that path is actually bytes before subscripting it

It's None when the request was invalid

10 years agoMerge branch 'bugfix_example_ccmd'
Luke Dashjr [Sun, 13 May 2012 00:24:56 +0000 (00:24 +0000)]
Merge branch 'bugfix_example_ccmd'

10 years agoBugfix: config.py.example: example CoinbaserCmd echo needs -e, and doesn't need an...
Luke Dashjr [Sun, 13 May 2012 00:24:47 +0000 (00:24 +0000)]
Bugfix: config.py.example: example CoinbaserCmd echo needs -e, and doesn't need an extra \n on the end

10 years agoMerge branch 'bugfix_notrim'
Luke Dashjr [Fri, 11 May 2012 17:36:24 +0000 (17:36 +0000)]
Merge branch 'bugfix_notrim'

Conflicts:
merklemaker.py

10 years agoJust log an error, rather than make invalid-due-to-missing-fees blocks, when perceive...
Luke Dashjr [Fri, 11 May 2012 17:35:23 +0000 (17:35 +0000)]
Just log an error, rather than make invalid-due-to-missing-fees blocks, when perceived to be over size/sigop limits

10 years agoRaiseRedFlags if upstream rejects a block
Luke Dashjr [Wed, 9 May 2012 21:19:54 +0000 (21:19 +0000)]
RaiseRedFlags if upstream rejects a block

10 years agoMerge branch 'bugfix_thr_sigusr1'
Luke Dashjr [Mon, 7 May 2012 16:35:54 +0000 (16:35 +0000)]
Merge branch 'bugfix_thr_sigusr1'

Conflicts:
eloipool.py

10 years agoBugfix: Use a new thread to handle SIGUSR1, in case the signal handler is called...
Luke Dashjr [Mon, 7 May 2012 16:34:07 +0000 (16:34 +0000)]
Bugfix: Use a new thread to handle SIGUSR1, in case the signal handler is called with locks held

Specifically, flushing stdout uses a lock, and when SIGUSR1 tries to write too it just blocked forever :(

10 years agoNetworkServer: Try to send data immediately
Luke Dashjr [Sun, 6 May 2012 04:45:48 +0000 (04:45 +0000)]
NetworkServer: Try to send data immediately

Since the socket is non-blocking, we should get an instant return at little or no cost, and still leave any excess data for epoll to take care of later

10 years agoMerge branch 'bugfix_sck_nonblock'
Luke Dashjr [Sun, 6 May 2012 04:41:02 +0000 (04:41 +0000)]
Merge branch 'bugfix_sck_nonblock'

10 years agoBugfix: Set actual connection sockets non-blocking
Luke Dashjr [Sun, 6 May 2012 04:39:51 +0000 (04:39 +0000)]
Bugfix: Set actual connection sockets non-blocking

Writing a lot of data at once might block and hold up servicing other connections/events

10 years agoDon't need all merkleroots to be up-to-date before sending the 2nd longpoll
Luke Dashjr [Sat, 5 May 2012 17:07:18 +0000 (17:07 +0000)]
Don't need all merkleroots to be up-to-date before sending the 2nd longpoll

10 years agoSupport for being greedy and excluding trailing feeless transactions
Luke Dashjr [Sat, 5 May 2012 00:06:32 +0000 (00:06 +0000)]
Support for being greedy and excluding trailing feeless transactions

10 years agoMerge branch 'html'
Luke Dashjr [Tue, 24 Apr 2012 23:59:31 +0000 (19:59 -0400)]
Merge branch 'html'

10 years agoSupport downloads of complete source as a tar archive
Luke Dashjr [Tue, 24 Apr 2012 23:59:14 +0000 (19:59 -0400)]
Support downloads of complete source as a tar archive

10 years agoServe source files with correct Content-Type
Luke Dashjr [Tue, 24 Apr 2012 22:46:46 +0000 (18:46 -0400)]
Serve source files with correct Content-Type

10 years agoServe source file list as HTML with links
Luke Dashjr [Tue, 24 Apr 2012 22:40:02 +0000 (18:40 -0400)]
Serve source file list as HTML with links

10 years agoMerge remote branch 'kinlo/saveuserifpasscorrect'
Luke Dashjr [Tue, 24 Apr 2012 22:26:04 +0000 (18:26 -0400)]
Merge remote branch 'kinlo/saveuserifpasscorrect'

10 years agoOnly store the username if the password is correct.
Peter Leurs [Tue, 24 Apr 2012 20:50:03 +0000 (22:50 +0200)]
Only store the username if the password is correct.
Do not send authentication required header: defer that...

10 years agoMerge branch 'tests'
Luke Dashjr [Mon, 23 Apr 2012 22:42:09 +0000 (18:42 -0400)]
Merge branch 'tests'

10 years agoWhen deciding whether to restore full worklog, count the expiration from the server...
Luke Dashjr [Mon, 23 Apr 2012 22:42:04 +0000 (18:42 -0400)]
When deciding whether to restore full worklog, count the expiration from the server stop time rather than file modification time

10 years agoDocument the different worklog format versions
Luke Dashjr [Mon, 23 Apr 2012 22:40:43 +0000 (18:40 -0400)]
Document the different worklog format versions

10 years agoMerkleTree: More extensive testing
Luke Dashjr [Mon, 23 Apr 2012 22:34:57 +0000 (18:34 -0400)]
MerkleTree: More extensive testing

10 years agoMerkleTree: Adopt new test suite format, to clean up module namespace
Luke Dashjr [Mon, 23 Apr 2012 22:31:54 +0000 (18:31 -0400)]
MerkleTree: Adopt new test suite format, to clean up module namespace

10 years agobitcoin.txn: Test suite
Luke Dashjr [Mon, 23 Apr 2012 22:30:31 +0000 (18:30 -0400)]
bitcoin.txn: Test suite

10 years agoMerge branch 'bugfix_txn_isCoinbase'
Luke Dashjr [Mon, 23 Apr 2012 22:29:54 +0000 (18:29 -0400)]
Merge branch 'bugfix_txn_isCoinbase'

Conflicts:
bitcointxn.py

10 years agoBugfix: Correct input check for isCoinbase
Luke Dashjr [Mon, 23 Apr 2012 22:29:13 +0000 (18:29 -0400)]
Bugfix: Correct input check for isCoinbase

10 years agoMerge branch 'bugfix_varlen_bytes'
Luke Dashjr [Mon, 23 Apr 2012 21:59:04 +0000 (17:59 -0400)]
Merge branch 'bugfix_varlen_bytes'

Conflicts:
bitcoinvarlen.py

10 years agoBugfix: varlenDecode/varlenEncode still epic failed; finally fix this bugger, and...
Luke Dashjr [Mon, 23 Apr 2012 21:56:48 +0000 (17:56 -0400)]
Bugfix: varlenDecode/varlenEncode still epic failed; finally fix this bugger, and add unit tests to make sure

10 years agoMerge branch 'bugfix_txn_isCoinbase'
Luke Dashjr [Mon, 23 Apr 2012 16:33:09 +0000 (12:33 -0400)]
Merge branch 'bugfix_txn_isCoinbase'

Conflicts:
bitcointxn.py

10 years agoBugfix: a typo in isCoinbase broke it always
Luke Dashjr [Mon, 23 Apr 2012 16:31:37 +0000 (12:31 -0400)]
Bugfix: a typo in isCoinbase broke it always

10 years agoAdd debugging variables to networkserver
Luke Dashjr [Fri, 20 Apr 2012 19:47:40 +0000 (15:47 -0400)]
Add debugging variables to networkserver

10 years agoMerge branch 'bugfix_gmp_submitblock_rv_2'
Luke Dashjr [Thu, 12 Apr 2012 01:22:57 +0000 (21:22 -0400)]
Merge branch 'bugfix_gmp_submitblock_rv_2'

Conflicts:
jsonrpcserver.py

10 years agoMerge branch 'bugfix_gmp_submitblock_rv' into bugfix_gmp_submitblock_rv_2
Luke Dashjr [Thu, 12 Apr 2012 01:20:02 +0000 (21:20 -0400)]
Merge branch 'bugfix_gmp_submitblock_rv' into bugfix_gmp_submitblock_rv_2

10 years agoBugfix: Refactor sendReply (and derivatives) to use a RequestHandled exception when...
Luke Dashjr [Thu, 12 Apr 2012 01:18:47 +0000 (21:18 -0400)]
Bugfix: Refactor sendReply (and derivatives) to use a RequestHandled exception when completing a request

This is needed to avoid abusing a None return type.
JSON-RPC needs to return null (None) for submitblock.

10 years agoMerge branch 'bugfix_lp_rollntime'
Luke Dashjr [Mon, 9 Apr 2012 15:23:51 +0000 (11:23 -0400)]
Merge branch 'bugfix_lp_rollntime'

10 years agoBugfix: Correctly assign JSONRPCMethod and _JSONHeaders when processing a GET longpoll
Luke Dashjr [Mon, 9 Apr 2012 15:01:25 +0000 (11:01 -0400)]
Bugfix: Correctly assign JSONRPCMethod and _JSONHeaders when processing a GET longpoll

This fixes the "no rollntime for longpolls" bug.

10 years agoTemporary HACK to keep working with older gmp-proxy
Luke Dashjr [Sun, 8 Apr 2012 02:33:58 +0000 (22:33 -0400)]
Temporary HACK to keep working with older gmp-proxy

Up until just now, Eloipool and gmp-proxy were using submitblock as if it were a getmemorypool(data), returning a boolean.
To give users time to upgrade, special-case the AuthServiceProxy UA for a while.

10 years agogmp-proxy: Send custom User-Agent with bitcoinrpc
Luke Dashjr [Sun, 8 Apr 2012 02:33:37 +0000 (22:33 -0400)]
gmp-proxy: Send custom User-Agent with bitcoinrpc

10 years agoMerge branch 'bugfix_gmp_submitblock_rv_2'
Luke Dashjr [Sun, 8 Apr 2012 02:11:38 +0000 (22:11 -0400)]
Merge branch 'bugfix_gmp_submitblock_rv_2'

10 years agoMerge branch 'bugfix_gmp_submitblock_rv' into bugfix_gmp_submitblock_rv_2
Luke Dashjr [Sun, 8 Apr 2012 02:11:31 +0000 (22:11 -0400)]
Merge branch 'bugfix_gmp_submitblock_rv' into bugfix_gmp_submitblock_rv_2

Conflicts:
gmp-proxy.py

10 years agogmp-proxy: Bugfix: submitblock method returns a rejection reason or null, not a boolean
Luke Dashjr [Sun, 8 Apr 2012 02:09:50 +0000 (22:09 -0400)]
gmp-proxy: Bugfix: submitblock method returns a rejection reason or null, not a boolean