Luke Dashjr [Thu, 9 May 2013 21:58:51 +0000 (21:58 +0000)]
Merge remote-tracking branch 'kinlo/authentication2'
Peter Leurs [Thu, 9 May 2013 13:44:39 +0000 (15:44 +0200)]
Implemented authentication modules, and added 2 modules: allowall and simplefile
Peter Leurs [Thu, 9 May 2013 14:52:56 +0000 (16:52 +0200)]
ignore the bitcoinrpc/ directory
Luke Dashjr [Sat, 4 May 2013 04:04:44 +0000 (04:04 +0000)]
Log SQL INSERT errors in detail
Luke Dashjr [Sat, 4 May 2013 03:51:11 +0000 (03:51 +0000)]
Enable using any old Python function in share logging formatter
Luke Dashjr [Fri, 3 May 2013 19:11:23 +0000 (19:11 +0000)]
Merge branch 'arg_config'
Luke Dashjr [Fri, 3 May 2013 19:11:13 +0000 (19:11 +0000)]
Bugfix: Need __import__ for config
Luke Dashjr [Thu, 2 May 2013 23:56:43 +0000 (23:56 +0000)]
New config option SaveStateFilename to control what file is used for saved state
Luke Dashjr [Thu, 2 May 2013 23:51:28 +0000 (23:51 +0000)]
Merge branch 'arg_config'
Luke Dashjr [Tue, 30 Apr 2013 21:32:26 +0000 (21:32 +0000)]
Bugfix: Avoid trying to decode None objects
Luke Dashjr [Tue, 30 Apr 2013 21:09:17 +0000 (21:09 +0000)]
Add command-line option --config (-c) for specifying a config to load rather than the default
NOTE: This bumps the required Python version to 3.2
Luke Dashjr [Mon, 29 Apr 2013 00:34:31 +0000 (00:34 +0000)]
Add userAgent and submitProtocol keys to share objects for logging/statistical purposes
Luke Dashjr [Sat, 20 Apr 2013 00:17:41 +0000 (00:17 +0000)]
config.py.example: Update UpstreamNetworkId to testnet3
Luke Dashjr [Fri, 19 Apr 2013 23:52:26 +0000 (23:52 +0000)]
Trigger merkletree update when block inv received from bitcoin p2p
Luke Dashjr [Sat, 6 Apr 2013 21:18:25 +0000 (21:18 +0000)]
Move "submitold" to specific methods
Luke Dashjr [Sat, 6 Apr 2013 19:01:15 +0000 (19:01 +0000)]
NetworkServer: Keep track of when the server was last idle
Luke Dashjr [Tue, 26 Mar 2013 16:13:54 +0000 (16:13 +0000)]
Merge commit 'e978e43'
Luke Dashjr [Tue, 26 Mar 2013 16:13:41 +0000 (16:13 +0000)]
Bugfix: Import traceback for SQL sharelogger
Luke Dashjr [Sat, 23 Mar 2013 17:33:18 +0000 (17:33 +0000)]
Now that CVE-2012-2459 is fixed on 97% of listening nodes, it should be reasonably safe to make non-POT merkletrees - remove the warning unless POT >= 2
Luke Dashjr [Mon, 25 Feb 2013 09:09:18 +0000 (09:09 +0000)]
config.py.example: Note BIP 23 Proposal requirement for TemplateChecks
Luke Dashjr [Sun, 24 Feb 2013 21:44:38 +0000 (21:44 +0000)]
Merge commit '9f8d1f5'
Luke Dashjr [Sun, 24 Feb 2013 21:44:31 +0000 (21:44 +0000)]
Bugfix: Stratum: handle_close is only called when the other end closes the connection, but we need to clean up _Clients when we close it too
Fixes memory leak of subscribed StratumHandlers that we close
Luke Dashjr [Sat, 23 Feb 2013 19:14:21 +0000 (19:14 +0000)]
Merge commit '826b85a'
Luke Dashjr [Sat, 23 Feb 2013 19:14:14 +0000 (19:14 +0000)]
Bugfix: Avoid division by zero in case all TemplateChecks error; treat it as a 0.0 AcceptRatio
Luke Dashjr [Fri, 22 Feb 2013 19:33:16 +0000 (19:33 +0000)]
config.py.example: Document importance of commas after single-element lists
Luke Dashjr [Thu, 21 Feb 2013 06:08:25 +0000 (06:08 +0000)]
Merge branch 'multisource'
Luke Dashjr [Thu, 21 Feb 2013 06:07:42 +0000 (06:07 +0000)]
MerkleMaker: Always prefer the highest block from any source
This was already necessitated by _ProcessGBT calling updateBlock when it saw a new height (to rush out blank jobs)
Without it, race conditions would result in Eloipool reversing this decision and going back to the old block
This also meant it invalidated and wasted all the longpoll work
Luke Dashjr [Thu, 21 Feb 2013 06:06:47 +0000 (06:06 +0000)]
MerkleMaker: Make code more readable
Luke Dashjr [Thu, 21 Feb 2013 02:43:25 +0000 (02:43 +0000)]
Merge commit '047890b'
Luke Dashjr [Thu, 21 Feb 2013 02:43:16 +0000 (02:43 +0000)]
Bugfix: receiveShare: Set rejectReason to "ERROR" if any exception causes checkShare to abort
Luke Dashjr [Tue, 19 Feb 2013 20:31:03 +0000 (20:31 +0000)]
Support for BIP 23 "target" request extension
Luke Dashjr [Tue, 19 Feb 2013 20:16:16 +0000 (20:16 +0000)]
Stratum: Request and store client versions after authorize
Can't do it any sooner, since *gminer error if they get anything unexpected during initialization
Luke Dashjr [Mon, 18 Feb 2013 22:22:37 +0000 (22:22 +0000)]
Merge commit 'e27ae49'
Conflicts:
merklemaker.py
Luke Dashjr [Mon, 18 Feb 2013 22:21:04 +0000 (22:21 +0000)]
Bugfix: merkleMaker: When calling from outside, ensure "now" is set
Luke Dashjr [Mon, 18 Feb 2013 21:46:47 +0000 (21:46 +0000)]
Merge commit '5cfd67a'
Conflicts:
eloipool.py
Luke Dashjr [Mon, 18 Feb 2013 21:46:27 +0000 (21:46 +0000)]
Workaround for bug in Python's math.log function
Luke Dashjr [Mon, 18 Feb 2013 05:14:47 +0000 (05:14 +0000)]
Merge commit '2a63a5d'
Luke Dashjr [Mon, 18 Feb 2013 05:14:40 +0000 (05:14 +0000)]
Bugfix: When retrying submissions, add the full server object back in to the list (not only the URI)
Luke Dashjr [Sun, 17 Feb 2013 04:03:06 +0000 (04:03 +0000)]
Left-align usernames in TopTargets
Luke Dashjr [Sun, 17 Feb 2013 03:58:11 +0000 (03:58 +0000)]
Merge commit '73a01ee'
Conflicts:
jsonrpcserver.py
Luke Dashjr [Sun, 17 Feb 2013 03:57:29 +0000 (03:57 +0000)]
Bugfix: If epoll errors, events won't be set, so just continue
Luke Dashjr [Sat, 16 Feb 2013 19:57:37 +0000 (19:57 +0000)]
Update copyrights on code changed this year
Luke Dashjr [Sat, 9 Feb 2013 04:41:08 +0000 (04:41 +0000)]
Merge commit '53913aa'
Luke Dashjr [Sat, 9 Feb 2013 04:41:02 +0000 (04:41 +0000)]
Bugfix: Handle no-proposal scenario correctly
Luke Dashjr [Sat, 9 Feb 2013 04:37:08 +0000 (04:37 +0000)]
Merge commit '16f9d29'
Luke Dashjr [Sat, 9 Feb 2013 04:37:02 +0000 (04:37 +0000)]
Bugfix: oMP is not a local variable here anymore
Luke Dashjr [Thu, 7 Feb 2013 05:47:59 +0000 (05:47 +0000)]
Silence getTarget debug logging by default
Luke Dashjr [Thu, 7 Feb 2013 05:47:42 +0000 (05:47 +0000)]
TopTargets() CLI command, to show vardiff targets in use
Luke Dashjr [Thu, 7 Feb 2013 04:31:24 +0000 (04:31 +0000)]
Merge commit 'd4cbed7'
Luke Dashjr [Thu, 7 Feb 2013 04:31:15 +0000 (04:31 +0000)]
Bugfix: Use static list of connections for boot_all
Luke Dashjr [Thu, 7 Feb 2013 02:32:19 +0000 (02:32 +0000)]
Merge branch 'simplelog'
Luke Dashjr [Thu, 7 Feb 2013 02:32:07 +0000 (02:32 +0000)]
Simplify and document logging configuration
Luke Dashjr [Thu, 7 Feb 2013 01:34:30 +0000 (01:34 +0000)]
Merge commit '45212d2' (non-obvious conflicts!)
Luke Dashjr [Thu, 7 Feb 2013 01:34:07 +0000 (01:34 +0000)]
Bugfix: merkleMaker.access has been replaced by TS['access']
Luke Dashjr [Thu, 7 Feb 2013 01:29:24 +0000 (01:29 +0000)]
Merge commit 'b44865e'
Luke Dashjr [Thu, 7 Feb 2013 01:06:15 +0000 (01:06 +0000)]
Tests for (non-aggressive) POT and _ProcessGBT
Luke Dashjr [Thu, 7 Feb 2013 01:15:23 +0000 (01:15 +0000)]
Bugfix: Insert dummy txninfo element for coinbase transaction at the same time as inserting the coinbase transaction to txnlist
Fixes element alignment with pre-GBT sources (which omitted the insert) in fee-trimming logic
Luke Dashjr [Wed, 6 Feb 2013 20:29:41 +0000 (20:29 +0000)]
Split _ProcessGBT and _CheckTemplate out of _updateMerkleTree_fromTS
Luke Dashjr [Tue, 5 Feb 2013 01:52:48 +0000 (01:52 +0000)]
Merge commit 'fde36f4'
Luke Dashjr [Tue, 5 Feb 2013 01:52:41 +0000 (01:52 +0000)]
Bugfix: Add missing username to target-reset log message
Luke Dashjr [Sat, 2 Feb 2013 05:03:03 +0000 (05:03 +0000)]
Merge branch 'multisource'
Luke Dashjr [Sat, 2 Feb 2013 05:02:57 +0000 (05:02 +0000)]
Bugfix: Correctly initialize without BlockSubmissions set
Luke Dashjr [Sat, 2 Feb 2013 04:59:50 +0000 (04:59 +0000)]
Allow omitting "uri" from upstream configs if the same "name" is found elsewhere with a specified "uri", and vice-versa
Luke Dashjr [Sat, 2 Feb 2013 04:44:47 +0000 (04:44 +0000)]
BlockSubmissions config list to improve control over where we submit blocks
Luke Dashjr [Sat, 2 Feb 2013 01:45:34 +0000 (01:45 +0000)]
Merge branch 'multisource'
Luke Dashjr [Sat, 2 Feb 2013 01:45:04 +0000 (01:45 +0000)]
Merge commit 'f25c32a'
Conflicts:
eloipool.py
Luke Dashjr [Sat, 2 Feb 2013 01:44:24 +0000 (01:44 +0000)]
Bugfix: Correct math to ceil power-of-two pdiff targetting
Luke Dashjr [Fri, 1 Feb 2013 20:02:12 +0000 (20:02 +0000)]
JSONRPCServer: Catch and return UTF-8 decode errors
Luke Dashjr [Fri, 1 Feb 2013 16:09:15 +0000 (16:09 +0000)]
Merge branch 'master' into multisource
Conflicts:
eloipool.py
Luke Dashjr [Fri, 1 Feb 2013 16:05:20 +0000 (16:05 +0000)]
Merge commit '0768201'
Conflicts:
eloipool.py
Luke Dashjr [Fri, 1 Feb 2013 16:05:00 +0000 (16:05 +0000)]
Bugfix: Delete local gmperr variable to avoid a recursive loop (exceptions refer to function local variables)
Luke Dashjr [Fri, 1 Feb 2013 05:29:35 +0000 (05:29 +0000)]
Try to submit blocks to every template source server
Luke Dashjr [Fri, 1 Feb 2013 03:57:51 +0000 (03:57 +0000)]
If a RejectedProposals directory exists, create a file for any block proposals that get rejected with details for debugging
Luke Dashjr [Fri, 1 Feb 2013 03:40:08 +0000 (03:40 +0000)]
Bugfix: Avoid clearing workLog and DupeShareHACK if there was no known previous block, so the restored state survives a restart
Luke Dashjr [Fri, 1 Feb 2013 02:43:34 +0000 (02:43 +0000)]
Trigger a block update when correcting wrong bits/height, to ensure miners get the updated jobs
Luke Dashjr [Thu, 31 Jan 2013 23:19:31 +0000 (23:19 +0000)]
Submit blocks to the same source they were created from, or the most recently used highest-priority source for blank merkletrees
Luke Dashjr [Thu, 31 Jan 2013 22:07:58 +0000 (22:07 +0000)]
Mostly replace UpstreamURI with TemplateSources, and add independent TemplateChecks to control multiple proposal checking
UpstreamURI is still used exclusively for block submissions
Luke Dashjr [Thu, 31 Jan 2013 15:01:51 +0000 (15:01 +0000)]
merkleMaker: Split new _CallGBT from block proposal logic
Luke Dashjr [Thu, 31 Jan 2013 14:36:32 +0000 (14:36 +0000)]
Begin restructure for multiple upstream sources
Luke Dashjr [Thu, 31 Jan 2013 09:03:31 +0000 (09:03 +0000)]
Disable gzip compression for longpoll responses, to focus on starting sends instead
Luke Dashjr [Thu, 31 Jan 2013 08:55:45 +0000 (08:55 +0000)]
config.py.example: Document StratumAddresses setting
Luke Dashjr [Thu, 31 Jan 2013 08:53:33 +0000 (08:53 +0000)]
config.py.example: Document where to find network IDs
Luke Dashjr [Thu, 31 Jan 2013 08:51:58 +0000 (08:51 +0000)]
README: Brief write-up on merged mining support
Luke Dashjr [Thu, 31 Jan 2013 08:02:12 +0000 (08:02 +0000)]
Merge commit 'c598a72'
Luke Dashjr [Thu, 31 Jan 2013 07:35:32 +0000 (07:35 +0000)]
Bugfix: Create longpoll coinbases with correct height and merkle tree
Luke Dashjr [Thu, 31 Jan 2013 07:32:27 +0000 (07:32 +0000)]
Update JSONRPCServer().lastHandler during longpoll distribution
Luke Dashjr [Sun, 13 Jan 2013 17:42:13 +0000 (17:42 +0000)]
Clear input buffer when booting clients
Luke Dashjr [Sun, 13 Jan 2013 17:15:10 +0000 (17:15 +0000)]
StratumServer: Ignore JSON parse errors
Luke Dashjr [Fri, 11 Jan 2013 21:48:49 +0000 (21:48 +0000)]
Log User-Agent and IP of JSON-RPC errors
Luke Dashjr [Fri, 14 Dec 2012 01:06:56 +0000 (01:06 +0000)]
Revert "Merge branch 'bugfix_race_edge'"
This reverts commit
fe75c6fbbc3e60594c6060368514892b6b83d65e, reversing
changes made to
17d8213c580500ce464bf4a3cb03e3901d046cd0.
Luke Dashjr [Tue, 27 Nov 2012 23:01:07 +0000 (23:01 +0000)]
Merge branch 'bugfix_race_edge'
Conflicts:
merklemaker.py
Luke Dashjr [Tue, 27 Nov 2012 23:00:39 +0000 (23:00 +0000)]
Bugfix: merkleMaker: Handle an edge race condition
Luke Dashjr [Tue, 27 Nov 2012 13:33:16 +0000 (13:33 +0000)]
StratumServer: Send clean_work=true if previous job is invalid
Luke Dashjr [Tue, 27 Nov 2012 13:27:29 +0000 (13:27 +0000)]
StratumServer: Reduce job refresh time to 55 seconds to give 60 second grace window
Luke Dashjr [Mon, 26 Nov 2012 00:29:37 +0000 (00:29 +0000)]
Merge branch 'bugfix_CMRWait'
Conflicts:
merklemaker.py
Luke Dashjr [Mon, 26 Nov 2012 00:29:13 +0000 (00:29 +0000)]
Bugfix: Only put None on old clearMerkleRoots Queue if it was empty, to avoid put blocking if it might be full
Luke Dashjr [Sun, 25 Nov 2012 02:07:48 +0000 (02:07 +0000)]
Merge branch 'bugfix_CMRWait'
Conflicts:
merklemaker.py
Luke Dashjr [Sun, 25 Nov 2012 02:07:07 +0000 (02:07 +0000)]
Bugfix: merkleMaker: After replacing clearMerkleRoots Queue, put a None on the old one to ensure any waiters switch over to the new one
Luke Dashjr [Tue, 20 Nov 2012 05:56:33 +0000 (05:56 +0000)]
Merge branch 'bugfix_badprevblk_startup'
Luke Dashjr [Tue, 20 Nov 2012 05:56:27 +0000 (05:56 +0000)]
Bugfix: Initalize merkleMaker().lastBlock so checkShare can check it for prevblk errors