262 Commits (3dcdb94921b6ad07d28500ab6cd50a0aebcc272c)

Author SHA1 Message Date
Con Kolivas e5babfa25b Watch for buffer overflows on receiving data into the socket buffer. 12 years ago
Con Kolivas 2a9b3e33d3 String alignment to 4 byte boundaries and optimisations for bin<->hex conversions. 12 years ago
Con Kolivas fc72ad5563 Off by one error. 12 years ago
Con Kolivas 9ccfcee6dc Prevent overflows of the port char array in extract_sockaddr. 12 years ago
ckolivas 7f522ef83c Add support for client.get_version for stratum. 12 years ago
Con Kolivas a533f106fd Update reconnect message to show whole address including port. 12 years ago
Con Kolivas 5226a399c7 Look for null values and parse correct separate array entries for url and port with client reconnect commands for stratum. 12 years ago
Con Kolivas 7c04a00e62 The command for stratum is client.reconnect, not mining.reconnect. 12 years ago
Con Kolivas 783af8768b Implement rudimentary mining.reconnect support for stratum. 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 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 7a01578cc5 Only hand off to stratum from getwork if we succeed in initiating the protocol. 12 years ago
Con Kolivas ef63ea3151 Drop stratum connect failed message to verbose level only since it's a regular probing message. 12 years ago
Con Kolivas fa444294bf TCP Keepalive in curl is only in very recent versions and not required with regular messages on stratum anyway. 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 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 77c5a006aa Alloca is unreliable on windows so use static arrays in util.c stratum code. 12 years ago
Con Kolivas c113534feb Begin support for mingw stratum build. 12 years ago
Con Kolivas 2fae906440 Don't try to parse unneeded parameters in response to mining.subscribe. 12 years ago
Con Kolivas 9698858abc Remove the sshare hash entry if we failed to send it. 12 years ago
Con Kolivas 3cb373d692 Change notify message to info level to avoid spamming repeatedly when a pool is down. 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 d122a789ed Use 5 second timeout on sock full for now as a temporary workaround. 12 years ago
Con Kolivas d851bf3d65 Revert "Don't wait on select when first detecting stratum, just receive one line." 12 years ago
Con Kolivas 496af92afd Don't wait on select when first detecting stratum, just receive one line. 12 years ago
Con Kolivas bbb092e0da Make the stratum recv buffer larger than the recvsize. 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 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 b5617734fa Provide locking around stratum send operations to avoid races. 12 years ago
Con Kolivas 8baac0d66d Submit shares from stratum through the abstracted submit share function detecting what message they belong to and showing the data from the associated work, and then deleting it from the hash. 12 years ago
Con Kolivas fa4c9bf60f Use a more robust mechanism to obtain a \n terminated string over a socket. 12 years ago
Con Kolivas 2de951518e Abstract out share submit as a function to be useable by stratum. 12 years ago
Con Kolivas 739cba28a7 Rename parse_stratum to parse_method as it is only for stratum messages that contain methods. 12 years ago
Con Kolivas 9180a557c3 Count each stratum notify as a getwork equivalent. 12 years ago
Con Kolivas aa6aa29c4d Check that stratum is already active in initiate_stratum to avoid de-authorising ourselves by subscribing again. 12 years ago
Con Kolivas 7415d7aaa0 Begin implementing a hash database of submissions and attempt sending results. 12 years ago
Con Kolivas ac47f7f3a6 Store and display stripped url in its own variable. 12 years ago
Con Kolivas 636f4b14d7 Generate the work target in gen_stratum_work, setting default diff to 1 in case it is not yet set. 12 years ago
Con Kolivas 1f6fe55152 Generate the coinbase for generation of stratum based work. 12 years ago
Con Kolivas 1f64491f62 The number of transactions is variable so make merkle a variable length dynamically allocated array and track how many there are for stratum. 12 years ago
Con Kolivas 1221a80d41 Rename nonce2 to n2size reflecting that it's a size variable and not the actual nonce. 12 years ago
Con Kolivas 56255a0c86 Create a stratum thread per pool that has stratum that monitors the socket and serves received data. 12 years ago
Con Kolivas 31c3759ecd Check return value of stratum_parse. 12 years ago
Con Kolivas ac9a4378d1 Complete authorisation in stratum. 12 years ago
Con Kolivas 331026595f Implement stratum parsing of notify parameters and storing them in the pool stratum work structure. 12 years ago
Con Kolivas 9d4a44e88e Create helper functions for duplicating json strings to avoid keeping json references in use. 12 years ago
Con Kolivas b86a893981 Append \n in the sock_send function instead of adding it when constructing json in stratum. 12 years ago
Con Kolivas d416d22381 Don't keep any json references around with stratum structures. 12 years ago
Con Kolivas 7e2dcc6fff Create parse_stratum function that hands off stratum parameters to other functions to manage pool stratum work struct variables. 12 years ago