1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-01-11 07:17:58 +00:00
Commit Graph

209 Commits

Author SHA1 Message Date
Bllacky
fe64ac99d6 Update sgminer.c
One small change to work well with previous ones.
Number of warnings now is 151, down from 157.

Still a long way to go. Most of the serious warnings are related to variables in miner.h, which is so intertwined with everything else that I fear of breaking something or making performance worse if I touch miner.h too much.
2014-04-09 22:17:37 +03:00
Bllacky
1dc8aabda9 Update sgminer.c
Minor changes to variable declaration.
Should reduce the number of warnings by about 5.
2014-04-09 22:03:12 +03:00
Noel Maersk
aa5f4c713b config: add const qualifier to set_pool_{algorithm,nfactor}().
MSVS doesn't like implicit casting.
2014-04-08 14:28:50 +03:00
Noel Maersk
e7078a5e16 misc: clarify currentpool() comment. 2014-04-07 22:51:23 +03:00
Noel Maersk
f6616aa63b config: allow specifying per-pool algorithm with --algorithm instead of --pool-algorithm.
This will probably only work with config file, though, since it relies
on json_array_index.
2014-04-07 22:43:43 +03:00
Noel Maersk
53a199a21d config: use get_pool_name() in set_pool_algorithm() and set_pool_nfactor(). 2014-04-07 22:21:57 +03:00
Noel Maersk
af879b1c77 core/misc: rename set_poolname() to set_pool_name(). 2014-04-07 22:19:57 +03:00
Noel Maersk
3ddf6baad9 core: rename default_algorithm to opt_algorithm.
... So it's easier to find when refactoring the configuration system
later on.
2014-04-07 22:09:05 +03:00
Noel Maersk
0793c96074 Merge remote-tracking branch 'mrbrdo/poolalgo' into poolalgo
Conflicts (resolved):
	ocl.h
	sgminer.c
2014-04-07 22:05:33 +03:00
Noel Maersk
b6218e20c1 config: rename --pool-priority to --priority, --coin to --description.
There are now get_current_pool() and current_pool(), which is confusing.
Moved them closer together, so it's at least obvious.
2014-04-07 21:14:17 +03:00
phm
7678db6801 Fixed problem with stratum support when mining FC, GRS and TWE. Added --difficulty-multiplier parameter for controlling stratum difficulty multiplier. 2014-04-05 20:55:22 +02:00
phm
769c9f8036 Merge branch 'twecoin'
Conflicts:
	Makefile.am
	configure.ac
	driver-opencl.c
	miner.h
	ocl.c
	sgminer.c
	sph/Makefile.am
2014-04-05 17:41:42 +02:00
phm
474091c426 Added support for Twecoin 2014-04-05 17:27:59 +02:00
Jan Berdajs
cdb817bcbd Change algorithm more robustly and faster, previous way was buggy 2014-03-31 21:05:20 +02:00
Jan Berdajs
c2131df6aa add support for setting algorithm/nfactor for each pool separately, and fix bugged OpenCL thread cleanup (thread shutdown) 2014-03-31 21:05:20 +02:00
phm
a683f935a4 Merge branch 'sifcoin'
Conflicts:
	Makefile.am
	configure.ac
	driver-opencl.c
	miner.h
	ocl.c
	sgminer.c
2014-03-31 17:06:16 +02:00
phm
0f88162c39 Added support for Sifcoin 2014-03-31 17:02:06 +02:00
Noel Maersk
a57f841570 Revert "fix for mingw-w64"
This reverts commit 32b13ccb46.

Reported by Wolf0 (aka wolf9466) to not break MinGW 64-bit compilation
with GCC 4.8.2 (latest stable).
2014-03-29 03:04:30 +02:00
Noel Maersk
db0f7cf6f0 core: silence gcc warning about sprintf() use in add_pool() - this time for sure. 2014-03-28 17:21:10 +02:00
Noel Maersk
5896da18b1 core: remove total_users, total_passes, total_userpasses (no longer used).
Silence gcc warnings.

Need for these accounting vars removed a few commits ago by troky.
2014-03-28 16:30:11 +02:00
Noel Maersk
08ff1574df config: write algorithm to config if not default.
Closes https://github.com/veox/sgminer/issues/175
2014-03-28 16:28:15 +02:00
Noel Maersk
8203fea539 config: move --coin in config table (alphabetically). 2014-03-27 17:58:16 +02:00
Noel Maersk
e7ca7fabba Merge pull request #168 from troky/testing
--pool-priority, --coin and fix for #80
2014-03-27 17:51:01 +02:00
Noel Maersk
10ec7769c8 pool: don't pass unused argument to sprintf() in add_pool().
Silences gcc warning.
2014-03-26 18:41:18 +02:00
Noel Maersk
ac3d13880c Revert "core: correctly parse boolean configuration values."
This reverts commit 8dd1c2d4af.

Introduced a security bug: since CCAN/opt is used to parse the JSON
config (something it is not meant to do), it was possible to specify
the default of

    "api-listen":false

in .conf and expect the API to be disabled. However, since CCAN/opt
does not check for parameters to OPT_WITHOUT_ARG, this got set to
true anyway, and enabled the API on a (possibly unfirewalled) network.

For this reason, configuration options are not named uniformly.

This should have been reverted as soon as it became known:

4c4b909be6 (Fri Feb 28)

Sorry for that.
2014-03-26 18:34:49 +02:00
troky
bcb78ed91b Added --coin pool parameter. 2014-03-26 11:10:41 +01:00
troky
17f5e296a9 Fixed configuration/command line parsing. 2014-03-26 10:46:17 +01:00
troky
8db53026cb Added --pool-priority 2014-03-25 20:37:45 +01:00
Martin Danielsen
01b3f70b63 A new --no-client-reconnect command that disables the 'client.reconnect' function.
It looks like there's an exploit that abuses said command, but it is still not clear exactly how.

There's also an additional message when the reconnect happens: "WARNING: POTENTIAL CLIENT.EXPLOIT!", but it requires you to be actively monitoring your log to catch it, and in which case you already get a "Reconnect requested from Pool 0 to 127.0.0.1" message.

Note that disabling 'client.reconnect' might affect some pools that rely on the feature, like pools that you lease your rig to.

Oh and this is dry-coded. :)
2014-03-24 15:12:40 +02:00
phm
983eae1142 Merge branch 'groestlcoin'
Conflicts:
	Makefile.am
	configure.ac
	driver-opencl.c
	miner.h
	ocl.c
	sgminer.c
2014-03-22 23:58:10 +01:00
phm
764d8706b4 Added support for GroestlCoin. 2014-03-22 23:50:21 +01:00
phm
a0c0975bb8 Merge branch 'animecoin'
Conflicts:
	Makefile.am
	configure.ac
	driver-opencl.c
	miner.h
	ocl.c
	sgminer.c
2014-03-20 18:36:28 +01:00
phm
35744a86c2 Merge branch 'inkcoin'
Conflicts:
	Makefile.am
	configure.ac
	driver-opencl.c
	miner.h
	ocl.c
	sgminer.c
2014-03-20 17:52:31 +01:00
Noel Maersk
106dbee1f9 core: check if GPU thread is disabled before checking if it's waiting on getwork.
Otherwise the watchdog thread segfaults on checking an uninitialised
thr->getwork value.
2014-03-17 21:57:00 +02:00
Noel Maersk
87801c2578 opencl: rename cgpu_info->kname to cgpu_info->kernelname. 2014-03-17 21:57:00 +02:00
Noel Maersk
1333ed576d core: simplify kernel selection code.
WIP!

Use a string instead of a state-machine-ey kernel selection mechanism
where kernel names have to be predefined. This should allow just dropping
new kernels into dir `kernel` without bloating the code in three other
places.

Is in dire need of a cleanup, function parameter check, edge case check -
all the usual testing.

In particular, checking these definitions/keywords:

* enum cl_kernels
* kname
* [c]gpu[s]->kernel (and similar)
* memory cleanup after strdup()?..
* chosen_kernel
* queue_scrypt_kernel
* strbuf
* initCl
2014-03-17 21:56:43 +02:00
phm
e260e79ab2 Added support for FugueCoin 2014-03-17 19:25:43 +01:00
Noel Maersk
fc902f0f41 pool: add back --poolname as hidden option for backward compatibility.
+ Udate NEWS.
2014-03-15 19:08:24 +02:00
troky
49aef7100f Reverting "poolname" to "name". 2014-03-15 19:08:24 +02:00
unknown
958764fecc MSVS build: Fixed debug build. MSVS doesn't like uninitialized variables. 2014-03-15 12:47:32 +01:00
Noel Maersk
8079d054d6 Merge branch 'nfactor'
Conflicts (resolved):
	Makefile.am
	winbuild/sgminer.vcxproj.filters
2014-03-14 17:46:54 +02:00
unknown
0e37fc24b0 Added algorrithm name to "coin" API command. Changed default algo name to "scrypt". 2014-03-13 23:02:51 +01:00
Noel Maersk
a3f9b24c69 core: set default algorithm for when neither --algorithm nor --nfactor are provided. 2014-03-07 02:27:06 +02:00
Noel Maersk
c6a27709f8 core: use global algorithm structure instead of opt_nfactor.
Also squashed:

config: add log messages to set_algo() and set_nfactor().

algorithm: use set_algorithm_nfactor() when setting default nfactor in set_algorithm().

Otherwise algorithm->n defaults to 0.

P.S. Did I already mention how this could have been C++?..
2014-03-07 02:27:06 +02:00
Noel Maersk
a0c52bf67c config: introduce set_nfactor() and use it to call set_algorithm_nfactor().
Had two bugs:

1. Will not compile due to unknown algorithm_t size.
2. nfactor is set to 0 (bad calling, fix later).

So squashed two commits:

1. algorithm: move algorithm_t definition to header.
2. config: if --nfactor is specified, properly set algorithm->nfactor.
2014-03-07 02:27:06 +02:00
Noel Maersk
92b7770212 config: add --algorithm option and documentation.
Doc in `doc/configuration.md` (has to be started sometime, no?).

Configuration function has to be lamely-named set_algo(), because
set_algorithm() is already declared in algorithm.h (prevent namespace
conflict).

algorithm has to be added as global variable due to the way the
callback is done (by CCAN/opt, which in itself is nice).

This can be cleaned up significantly by (at least) introducing a
global configuration struct, but there is no reason to do it now
just for this - better a wholesale manana.
2014-03-07 02:27:00 +02:00
phm
66f508d01f Added support for AnimeCoin 2014-03-05 18:00:30 +01:00
Noel Maersk
ded4452316 ui: check for opt_incognito is Display settings menu. 2014-03-02 20:41:49 +02:00
Noel Maersk
9c0f912434 core: remove ifdef from opt_compact and opt_incognito declaration. 2014-03-02 19:13:08 +02:00
phm
8fe1b860c5 Added support for MyriadCoin groestl algorithm. 2014-03-01 09:33:32 +01:00
Noel Maersk
428061e416 pool: display URL instead of "Pool N" if no poolname provided.
This works since get_pool_name() in pool.c checks if an empty string is
provided, and uses the URL instead if so.
2014-02-28 23:56:14 +02:00
Noel Maersk
d58de45c0e pool: use get_pool_name() where appropriate. 2014-02-28 23:22:40 +02:00
Noel Maersk
0a4f71882c pool: use get_pool_user(). 2014-02-28 22:45:07 +02:00
Noel Maersk
8e4fb3c554 pool: abstract get_pool_name()
The introduction of get_pool_name() warrants a separate function
so opt_incognito does not litter everywhere.
2014-02-28 22:15:39 +02:00
Noel Maersk
0d562ffbf5 core: use opt_incognito in a few more applog() places. 2014-02-28 22:13:42 +02:00
Noel Maersk
888fab437f ui: <incognito> pool name in incognito mode, too.
Ah, what the heck. If it's a pool-related, we'll just ask.
2014-02-28 04:13:22 +02:00
Noel Maersk
a511266959 doc: minor fix for --help message on --incognito. 2014-02-28 03:35:32 +02:00
Noel Maersk
5a8f84b49b ui: allow switching to incognito mode through ncurses interface. 2014-02-28 03:00:12 +02:00
Noel Maersk
d78f372712 core: undo some of previous two commits and andd conditionals to display user name as <incognito> instead.
Fix whitspace (squashed).
2014-02-28 02:46:56 +02:00
Noel Maersk
2561295e3d log: do not set poolname in log in incognito mode. 2014-02-28 02:11:26 +02:00
Noel Maersk
f737992f41 core: introduce --incognito + minimal revision of --compact.
`--incognito` is for sharing output without disclosing login
information.

NCurses interface code, as stated before, is pretty lousy.
2014-02-27 23:29:03 +02:00
Zuikkis
2b9a588e25 Update sgminer.c & scrypt.c
Default opt_nfactor was 11 instead of 10, my typo.. :) Sorry.

scrypt_1024_1_1_256_sp renamed to scrypt_n_1_1_256_sp
2014-02-23 14:39:40 -05:00
phm
3e89fb950f Merge branch 'quark'
Conflicts:
	Makefile.am
	configure.ac
	driver-opencl.c
	miner.h
	ocl.c
	sgminer.c
2014-02-23 18:56:05 +01:00
Teemu Suikki
73bb1504e9 Scrypt-nfactor support!
Added new configuration parameter "nfactor", which defaults to 10 (normal scrypt).
Use 11 for vertcoin.

Kernels modified accordingly.
2014-02-23 04:44:17 +02:00
phm
d9fc7ccb4e Added support for QubitCoin 2014-02-22 19:21:05 +01:00
phm
c336a8399a Added support for INKcoin. 2014-02-22 16:58:00 +01:00
phm
089bfddc9b Merge branch 'quark' into inkcoin
Conflicts:
	Makefile.am
	configure.ac
	driver-opencl.c
	ocl.c
	sgminer.c
2014-02-22 16:56:59 +01:00
Noel Maersk
44aed3570e Merge branch 'build-msvs2010-upd' into build-msvs2010-merge
Test in separate branch before merging into master.

Conflicts (resolved):
	api.c
	util.c
2014-02-22 17:05:07 +02:00
Noel Maersk
a38f01c9a2 misc: explain gpu-threads comment FIXME. 2014-02-22 16:38:47 +02:00
phm
e92d5ebf6e Added support for InkCoin 2014-02-22 12:46:46 +01:00
phm
60a0e00243 Added support for quarkcoin difficulty calculation. 2014-02-22 11:04:06 +01:00
Spencer Shimko
45a16f1ac2 Fixup --help on intensities.
Current help contains conflict statements regarding intensity
priorities.

Per commit d11df698d1:
- rawintensity overrides both xintensity and intensity
- xintensity overrides intensity
2014-02-21 17:46:10 -05:00
phm
a17ec112f6 Added support for Quark mining. 2014-02-21 15:45:29 +01:00
phm
9585d2a8e6 Added support for DarkCoin kernel. Modified stats display to handle low difficulty values. 2014-02-19 23:06:29 +01:00
Con Kolivas
a825524325 We shouldn't block on no work situations directly from the getwork scheduler itself. 2014-02-17 17:34:50 +02:00
Con Kolivas
b9b3abe264 Make the pthread cond wait in the getwork scheduler a timed wait in case we miss a wakeup. 2014-02-17 17:33:23 +02:00
Con Kolivas
7134cd7050 Add debug output when get_work() is blocked for an extended period and add grace time to the device's last valid work to prevent false positives for device failure. 2014-02-16 15:13:08 +02:00
Con Kolivas
26c4be818a Show device info in noffset nonce share above target message. 2014-02-16 15:12:43 +02:00
Con Kolivas
117c032b92 Slowly remove work even if it's not being used to keep the getwork counter incrementing even if work is not used and as a test that pools are still working. 2014-02-16 15:09:22 +02:00
Con Kolivas
5dad99caf6 Give device info with share above target message. 2014-02-16 15:08:39 +02:00
Con Kolivas
b5abf68938 Always show the stratum share lag time in debug mode. 2014-02-16 14:45:15 +02:00
Con Kolivas
9c59fe2c31 Add stratum share response lag time to verbose output if it's greater than 1 second. 2014-02-16 14:43:53 +02:00
Con Kolivas
7731806417 Add stratum share submission lag time to verbose information if it's over 1 second. 2014-02-16 14:43:31 +02:00
Con Kolivas
95ac0c4356 Export the flush_queue function for use by drivers. 2014-02-16 14:41:02 +02:00
Con Kolivas
ab805ec146 Remove wrong goto 2014-02-16 14:40:42 +02:00
Con Kolivas
d5d34f2168 Remove the unqueued work reference when we discard work from get queued as well. 2014-02-16 14:40:23 +02:00
Con Kolivas
ee7fb11cfb Wake the global work scheduler when we remove a work item from the unqueued work pointer. 2014-02-16 14:39:47 +02:00
Con Kolivas
2cea7ce439 Discard work that is stale in the get_queued() function, returning NULL instead. 2014-02-16 14:39:18 +02:00
ckolivas
8592226ad2 Add a get and queue helper work function. 2014-02-16 14:37:16 +02:00
Con Kolivas
011512561a Add a call to a driver specific zero stats function when zero stats is called to allow each driver to reset its own stats as well if desired. 2014-02-16 14:24:06 +02:00
Con Kolivas
dc767487e2 Fix displayed diff when solo mining at >2^32 diff. 2014-02-16 14:21:29 +02:00
Con Kolivas
c31de2601b Store when the last getwork was retrieved and display it in the API summary. 2014-02-16 14:14:40 +02:00
ckolivas
d1e2bfaf7f Make submit_tested_work return a bool about whether it meets the work target or not. 2014-02-16 14:10:31 +02:00
ckolivas
a58ef1b8c7 Provide a helper function for determining dev runtime and use it in the hashmeters used. 2014-02-16 14:09:51 +02:00
Con Kolivas
3323f9f9bf Generically increase the queue if we are mining on a pool without local work generation each time we run out of work. 2014-02-16 13:59:15 +02:00
Con Kolivas
5167962840 Change new block detection message since longpoll is rarely relevant today. 2014-02-16 13:58:40 +02:00
Con Kolivas
1ad3285f56 Use unused line at the top of the log window which often gets stuck unchanging. 2014-02-16 13:58:09 +02:00
Con Kolivas
cc2aa215a8 Clear pool work on a stratum reconnect message. 2014-02-16 13:57:20 +02:00
Kano
faf63ec036 Modify thread naming to make them easier to identify 2014-02-16 13:56:14 +02:00
Noel Maersk
87102ecd07 pool: additional debug logging for stratum pools.
Might help in trying to resove issue 88.
2014-02-12 21:11:59 +02:00