cgminer.c


Log

Author Commit Date CI Message
Con Kolivas cc14f166 2012-12-02T19:29:54 Make gen_stratum_work more robust by using a dynamically allocated array for the header in case bogus data is sent by the pool to avoid overflowing a static array.
Con Kolivas f94cff77 2012-12-02T18:06:55 Microoptimise and remove redundant copy of strdup function in calloc_strcat.
Con Kolivas 53c9cdaf 2012-12-02T16:56:36 scrypt_diff now returns a uint64_t
Con Kolivas d8e18994 2012-12-01T23:36:17 Support monitoring and reporting much higher diffs for scrypt mining, truncating irrelevant zeroes from displayed hash.
Con Kolivas 0ae02c6e 2012-12-01T08:26:31 Since we will be using calloc_str to put a string into it, convert the function to calloc_strcat which does it automatically.
Con Kolivas 01eb807c 2012-11-29T13:00:02 Revert "Handle crash exceptions by trying to restart cgminer unless the --no-restart option is used." This reverts commit 68c881fde72f7aa92224cf4e4ba67a5af868dafc. Does not reliably restart on crashes often enough and makes debugging more difficult.
Con Kolivas bc4f6d92 2012-11-29T12:58:42 Count longpoll and GBT decodes as queued work since the count otherwise remains static.
Con Kolivas 1746e471 2012-11-29T12:49:28 Use the string helper functions to create gbt blocks of any length.
Con Kolivas 217be6ed 2012-11-25T00:37:46 Do away with the flaky free_work api in the driver code which would often lose the work data in opencl and simply flush it before exiting the opencl scanhash.
Con Kolivas c34ff367 2012-11-24T23:08:14 Use base_work for comparison just for cleanness in __copy_work
Con Kolivas 73671ab3 2012-11-24T18:45:02 Remove all static work structs, using the make and free functions.
Con Kolivas 3ab92ef6 2012-11-24T13:35:00 Add pool no. to stale share detected message.
Con Kolivas 850d07df 2012-11-24T12:58:58 Add info about which pool share became stale while resubmitting.
Con Kolivas 31e43944 2012-11-24T10:58:46 Do not use or count or use the getworks submitted which are simply testing that pools are still up. This was increasing share leakage and making stats not reflect real work.
Con Kolivas 2d35ac25 2012-11-24T10:47:20 Track all dynamically allocated memory within the work struct by copying work structs in a common place, creating freshly allocated heap ram for all arrays within the copied struct. Clear all work structs from the same place to ensure memory does not leak from arrays within the struct. Convert the gbt coinbase and stratum strings within the work struct to heap ram. This will allow arbitrary lengths without an upper limit for the strings, preventing the overflows that happen with GBT.
Con Kolivas aa72db36 2012-11-18T23:04:01 Provide rudimentary support for the balancing failover strategies with stratum and GBT by switching pools silently on getwork requests.
Con Kolivas 40a3331e 2012-11-18T22:27:03 Remove unintentional block of code in reuse_work.
Con Kolivas 9ad02fe3 2012-11-18T21:48:44 Support workid for block submission on GBT pools that use it.
Con Kolivas 61f4e9d6 2012-11-18T17:22:48 Revert "Discard all work on longpoll, not just work cgminer recognises as stale." This reverts commit 1470eea903266fc5cef8e722859dca55ae460183. Work block update makes this unnecessary.
Con Kolivas f14bf5b1 2012-11-17T22:06:49 Merge pull request #326 from pshep/error_counters Error counters
Con Kolivas 4039ee7a 2012-11-18T16:53:39 Convert pool not responding and pool alive message on backup pools to verbose level only since they mean a single failed getwork.
Con Kolivas 52b86b51 2012-11-18T16:38:24 Update work block on the longpoll work item before calling restart threads to ensure all work but the longpoll work item gets discarded when we call discard_stale from restart_threads.
Con Kolivas 1470eea9 2012-11-18T15:54:14 Discard all work on longpoll, not just work cgminer recognises as stale.
Con Kolivas 88983306 2012-11-18T15:50:04 Do not attempt to remove the stratum share hash after unsuccessful submission since it may already be removed by clear_stratum_shares.
Con Kolivas d15515be 2012-11-15T13:09:00 Check against a double for current pool diff.
Con Kolivas b3864d1a 2012-11-15T09:18:58 Support for fractional diffs and the classic just-below-1 share all FFs diff target.
Con Kolivas 1832dbd7 2012-11-11T22:57:48 Make header larger on gen stratum work to accomodate \0 at the end.
Con Kolivas 66a95771 2012-11-11T21:47:31 Fix mistaken disabling of opt_restart in other code.
Con Kolivas 89cb1419 2012-11-11T20:53:27 Use stratum block change from backup pools as an alternative to longpoll for pools that don't support LP.
Con Kolivas 38eb4ee4 2012-11-11T18:09:46 Check share target diff for best_share to be calculated when solo mining.
Con Kolivas 7993095e 2012-11-11T17:53:20 Round some more static string arrays to 4 byte boundaries.
Con Kolivas 17aa87be 2012-11-11T17:37:58 There is no need for the static arrays to be larger than required, so long as they're 4 byte aligned to appease ARM.
Con Kolivas 149781cf 2012-11-11T17:14:55 Revert "Change default log interval to 3 seconds for faster screen refreshes since vardiff will prevent massive on screen hash updates in the future." This reverts commit f1f6b31faff2cca9a111407c28d4bf9af28284aa. Screen update frequency is what I wanted to change, not the log interval.
Con Kolivas 298ffcbc 2012-11-11T17:14:24 Store the full stratum url information in rpc_url for correct configuration file saving.
Con Kolivas 2cf0767c 2012-11-11T16:33:20 Put in a hack to prevent dud work from sneaking into test_work_current being seen as a new block.
Con Kolivas ad2ed57f 2012-11-11T16:30:09 Reset the work->longpoll flag where it will affect stratum work items as well.
Con Kolivas 1d7e19f2 2012-11-11T16:10:45 Check for both coinbase/append and submit/coinbase support before using GBT protocol.
Con Kolivas 878f4d53 2012-11-11T16:05:39 First pass through testing for GBT should not set probed to true since we are about to probe again.
Con Kolivas 598ee76d 2012-11-11T09:51:37 Hash1 is only used by the deprecated cpu mining code and never changes so remove it from the work struct and bypass needing to process the value for all other mining.
Con Kolivas f1f6b31f 2012-11-07T23:32:01 Change default log interval to 3 seconds for faster screen refreshes since vardiff will prevent massive on screen hash updates in the future.
Con Kolivas 6893c0be 2012-11-07T23:28:49 Get a work item once per second for all getwork and GBT pools to test they're still alive and to maintain a current GBT template.
Paul Sheppard dad6c704 2012-11-06T09:46:05 Merge branch 'master' into error_counters
Con Kolivas dd671baa 2012-11-06T17:42:49 Get a fresh block template with GBT pools on switching to them.
Con Kolivas be82cc7f 2012-11-06T14:01:32 Reset work flags to prevent GBT shares from being submitted as stratum ones after switching.
Con Kolivas a47a7886 2012-11-06T11:39:25 Only retarget stratum shares to new pool diff if diff has dropped.
Con Kolivas 498882d8 2012-11-06T10:39:34 Remove resetting of probed variable when detecting GBT.
Con Kolivas 27ce497a 2012-11-06T09:50:36 Count lost stratum share submits and increase message priority to warning.
Con Kolivas 418d15de 2012-11-06T09:43:55 Only retrieve a new block template for GBT pools that are the current pool.
Paul Sheppard 69f341c5 2012-11-05T08:01:15 Remove errant counter.
Con Kolivas 75d0a45a 2012-11-05T23:47:44 Show which pool untracked share messages have come from.
Con Kolivas e0157208 2012-11-05T23:44:00 Add management for dead GBT pools.
Con Kolivas 9ebc321c 2012-11-05T23:34:58 Merge branch 'master' into gbt
Con Kolivas ffb8a29a 2012-11-05T23:25:36 Count lost shares with stratum as submit stale lost.
Con Kolivas 0465fef5 2012-11-05T23:22:36 Discard record of stratum shares sent and report lost shares on disconnection since they will never be reported back.
Con Kolivas 03140811 2012-11-05T22:12:27 Swab, don't just swap the bytes in the GBT target.
Con Kolivas 275bb9c0 2012-11-05T18:05:25 Change status window message for GBT connected pools versus LP.
Con Kolivas 1321cb0e 2012-11-05T17:57:33 Generate a gbt work item from longpoll when required to set new block and message appropriately.
Con Kolivas 10ea5fbf 2012-11-05T16:57:48 Use existing pool submit_old bool from gbt data.
Con Kolivas f71b4230 2012-11-05T16:48:19 Retrieve a new block template if more than 30 seconds has elapsed since the last one to keep the data current and test the pool is still alive.
Con Kolivas fc94e00f 2012-11-05T16:34:44 Update GBT longpollid every time we request a new longpoll.
Con Kolivas cc7c2745 2012-11-05T16:28:52 Manage appropriate response codes for share submission with GBT.
Con Kolivas 345e72e6 2012-11-05T16:17:04 Allow the longpoll thread to start with GBT and only set the longpollid once.
Con Kolivas 85f400bf 2012-11-05T15:57:47 Correct last few components of GBT block generation courtesy of Luke-jr.
Con Kolivas 14c436ee 2012-11-05T15:28:07 Use correct length for offsetting extra nonce and remaining data.
Paul Sheppard 9f74e650 2012-11-04T20:13:49 Tidy up device error counts
Con Kolivas a4e78be1 2012-11-05T14:56:57 Flip all 80 bytes in the flip function which was wrongly named flip256 for its purpose.
Con Kolivas 8bc677a6 2012-11-05T14:44:58 Calculate midstate for gbt work and remove now unused variable.
Con Kolivas 0ba5f0f9 2012-11-05T14:02:43 Use a standard function for flipping bytes.
Con Kolivas 734f3d1c 2012-11-05T11:49:22 Insert the extra nonce and remaining data in the correct position in the coinbase.
Con Kolivas 611c3164 2012-11-05T10:55:55 Remove txn size debugging and enlarge gbt block string to prevent overflow.
Con Kolivas bd384883 2012-11-05T08:39:33 Remove varint display debugging.
Con Kolivas cb6f0340 2012-11-05T08:27:20 Build varint correctly for share submission and sleep 5 seconds before retrying submit.
Con Kolivas 88b6f792 2012-11-04T18:01:09 Make gbt_coinbase large enough for submissions, swap bytes correctly to make a header from GBT and encode the number of transactions in share submission.
Con Kolivas 889ed239 2012-11-04T15:28:13 Store the fixed size entries as static variables in GBT in binary form, byteswapping as is required.
Con Kolivas cdc3c877 2012-11-04T14:58:24 32 bit hex encoded variables should be in LE with GBT.
Con Kolivas 2914a5ed 2012-11-04T12:18:59 Target and prevblockhash need to be reversed from GBT variables.
Con Kolivas 6b34faf8 2012-11-04T10:24:09 Construct block for submission when using GBT.
Con Kolivas 59087a5d 2012-11-04T08:59:00 Use same string for debug as for submission and make string larger to cope with future GBT messages.
Con Kolivas 914e88bb 2012-11-04T08:46:58 Skip trying to decipher LP url if we have GBT support.
Con Kolivas c5c5fb82 2012-11-04T08:35:50 Store all the transaction hashes in pool->txn_hashes instead of separating txn0 and correct generation of merkle root, fixing memory overwrites.
Con Kolivas 5acb182e 2012-11-04T02:07:45 Hook into various places to generate GBT work where appropriate.
Con Kolivas 875ca0fc 2012-11-04T01:07:01 Create extra work fields when generating GBT work.
Con Kolivas 2bfb293f 2012-11-04T00:52:50 Generate header from correct hashing generation of the merkle root for GBT.
Con Kolivas cbc246ea 2012-11-03T19:45:37 Generate the merkle root for gbt work generation.
Con Kolivas 8d0f7482 2012-11-03T13:27:41 Create a store of the transactions with GBT in the minimum size form required to generate work items with a varied coinbase.
Con Kolivas 4a72a157 2012-11-01T22:34:08 Create a function that generates a GBT coinbase from the existing pool variables.
Con Kolivas 813e814f 2012-11-01T16:56:54 Extract and store the various variables GBT uses when decoding gbt work.
Con Kolivas 432b2636 2012-11-01T15:41:32 Check for invalid json result in work_decode.
Con Kolivas 56b16953 2012-11-01T15:40:07 Decode work in separate functions for getwork vs gbt.
Con Kolivas 26e01150 2012-11-01T15:36:22 Check for the coinbase/append mutable in GBT support to decide whether to use it or not.
Con Kolivas d10699d4 2012-11-01T14:24:55 Add a gbt mutex within the pool struct for protecting the gbt values.
Con Kolivas 8afc1f65 2012-11-01T14:05:25 Convert work decode function to prepare for decoding block templates.
Con Kolivas 1c456d4f 2012-11-01T13:53:12 Check for GBT support on first probing the pool and convert to using the GBT request as the rpc request for that pool.
Con Kolivas f4cc59f2 2012-11-01T13:06:34 Make the rpc request used with getwork a pool variable to allow it to be converted to/from gbt requests.
Con Kolivas 7e17af69 2012-10-29T21:48:59 Merge pull request #322 from luke-jr/bugfix_stratum_tmpwork Bugfix: Initialize temporary stratum work
Con Kolivas e19c5d9d 2012-10-29T21:28:15 Set sshare id and swork_id within the sshare mutex to avoid multiple share submits with the same id.
Luke Dashjr 280486a7 2012-10-29T07:14:29 Bugfix: Initialize temporary stratum work Without this, work.mandatory might have been true skipping block change handling code This caused newfound shares to be considered stale always, and bitforce devices to constantly restart work
Con Kolivas d92609e6 2012-10-28T19:58:35 Fail on select() failing in stratum thread without needing to attempt recv_line.
Con Kolivas 843fa339 2012-10-29T16:35:54 Add share to stratum database before sending it again in case we get a response from the pool before it's added.
Con Kolivas d28a844f 2012-10-29T12:33:25 Shorten the stratum timeout on read to 90 seconds to detect unresponsive pool.