1193 Commits (382433eb73a243678b174232c917c178dcc06ad9)

Author SHA1 Message Date
Con Kolivas 5ed6e9d55e Simplify target generation code. 12 years ago
ckolivas ca962ee58b Use a 64 bit unsigned integer on the diff target to generate the hex target. 12 years ago
Con Kolivas ef6ad423e3 Only copy the stratum url to the rpc url if an rpc url does not exist. 12 years ago
Con Kolivas 974f65c67f Ignore the value of stratum_active on calling initiate_stratum and assume we're always trying to reinitiate it, and set the active flag to false in that function. 12 years ago
Con Kolivas 07605fad60 stratum auth can be unset if we fail to authorise on subsequent calls to auth_stratum which undoes the requirement of setting it in one place so set it in pool_active. 12 years ago
Con Kolivas 80d4355737 Remove free that could segfault. 12 years ago
Con Kolivas 7d6bcab899 Use the stratum url as the rpc url advertised if we switch to it. 12 years ago
Con Kolivas 662ab1eff7 Count each stratum work item as local work. 12 years ago
Con Kolivas 2023e53fb2 Cope with one stratum pool being the only active pool when it dies by sleeping for 5 seconds before retrying to get work from it instead of getting work indefinitely. 12 years ago
Con Kolivas ef822a25ed Detect stratum outage based on either select timing out or receiving an empty buffer and properly re-establish connection by disabling the stratum_active flag, coping with empty buffers in parse_stratum. 12 years ago
Con Kolivas 461b7c6de2 Display correct pool number when block is found. 12 years ago
Con Kolivas 8a32f381b4 Use the stratum thread to detect when a stratum pool has died based on no message for 2 minutes. 12 years ago
Con Kolivas 0cddd1ab54 Only set the stratum auth flag once and once the stratum thread is started, use that to set/unset the stratum active flag. 12 years ago
Con Kolivas 7a01578cc5 Only hand off to stratum from getwork if we succeed in initiating the protocol. 12 years ago
Con Kolivas 8893f7ab23 Target should only be 32 bytes copied. 12 years ago
Con Kolivas 687fed1de9 Use a static array for work submission data instead of stack memory. 12 years ago
Con Kolivas c4aa8d267c Clear the buffer data before sprinting to it. 12 years ago
Con Kolivas f0901e0a26 Clear work stratum strings before setting them and add them to debug output. 12 years ago
Con Kolivas a8d693029a Move stratum sockets to curl infrastructure with locking around send+recv to begin support for proxies and ssl. 12 years ago
Con Kolivas 591c433477 Make detect stratum fail if a proxy has been set up. 12 years ago
Con Kolivas 51c499a5ae Stratum does not currently have any proxy support so do not try to switch to stratum if a proxy has been specified. 12 years ago
Con Kolivas deb0a9b644 Windows doesn't work with MSG_PEEK on recv so move to a continuously updating buffer for incoming messages. 12 years ago
Con Kolivas 3c85498d57 Add space to reject reason. 12 years ago
Con Kolivas b4450bb852 Parse the reject reason where possible from stratum share submission. 12 years ago
Con Kolivas 512d244094 Pass json error value to share result function to be able to parse reject reason in stratum. 12 years ago
Con Kolivas 9698858abc Remove the sshare hash entry if we failed to send it. 12 years ago
Con Kolivas 284b786da7 Check the stratum pool difference has not changed compared to the work diff when testing whether a share meets the target or not and retarget if necessary. 12 years ago
Con Kolivas ac0c813f9d Bit error in target calculation for stratum. 12 years ago
Con Kolivas 310239b8e8 Revert "Parse reject reason from the stratum json error code if there is one." 12 years ago
Con Kolivas 3d982dfbe9 Set work_block in gen_stratum_work for when work is reused to avoid thinking it's all stale. 12 years ago
Con Kolivas 74c11945f0 Offset the current block detection to the prev block hash. 12 years ago
Con Kolivas c6a3d065fa Parse reject reason from the stratum json error code if there is one. 12 years ago
Con Kolivas 9e0e61509d We should be testing for id_val, not id in parse stratum response. 12 years ago
Con Kolivas fdaabf59c6 Make target on stratum scale to any size by clearing sequential bits according to diff. 12 years ago
Con Kolivas a8a8ed6207 Correct target calculation in gen_stratum_work. 12 years ago
Con Kolivas 925d01922b If a share result has an error code but still has an id, it is likely a reject, not an error. 12 years ago
Con Kolivas 1b7aa48c8f Initiate stratum the first time in pool_active only, allowing us to switch to it on getting a failed getwork and detecting the presence of stratum on the url at that time. 12 years ago
Con Kolivas 210bc9be3e If no stratum url is set by the end of the detect stratum routine, copy the sockaddr url. 12 years ago
Con Kolivas 78aafcec5c Make all buffers slightly larger to prevent overflow. 12 years ago
Con Kolivas df91df3507 Userpass needs to be copied to user and pass earlier to allow stratum authorisation to work with it. 12 years ago
Con Kolivas 2941febd05 Store a sockaddr url of the stripped url used in determining sockaddr to not confuse it with the stratum url and fix build warnings. 12 years ago
Con Kolivas 2ccb6d78ca Decrease the queued count with stratum work once it's staged as well. 12 years ago
Con Kolivas 601d1aca97 Allow the stratum retry to initiate and auth stratum in pool_alive to make sure the stratum thread is started. 12 years ago
Con Kolivas 4a7ce9dd2a Avoid duplicating pool->rpc_url and setting pool->stratum_url twice to itself. 12 years ago
Con Kolivas eaf7ed0dcd Detect if a getwork based pool has the X-Stratum header on startup, and if so, switch to the stratum based pool. 12 years ago
Con Kolivas b495a51b76 Comment update. 12 years ago
Con Kolivas 2aacd89aa8 Minor message change. 12 years ago
Con Kolivas 90b1893746 Create a work item from a "clean" request from stratum allowing the new block to be detected and the appropriate block change message to be given. 12 years ago
Con Kolivas b97a33a58a Use statically allocated stratum strings in struct work to cope with the inability to safely deallocate dynamically allocated ram. 12 years ago
Con Kolivas e93f679ae4 Use the current pool when deciding whether to reuse work from a stratum source rather than the work's previous pool. 12 years ago