From c080d5b962fe4bb77342f92293bff68aa332c996 Mon Sep 17 00:00:00 2001 From: SChernykh Date: Tue, 6 Apr 2021 23:02:10 +0200 Subject: [PATCH 1/3] Fixed broken "coin" setting functionality --- src/base/net/stratum/Client.cpp | 9 +++++++-- src/base/net/stratum/DaemonClient.cpp | 4 +++- src/base/net/stratum/SelfSelectClient.cpp | 13 +++++++++---- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/base/net/stratum/Client.cpp b/src/base/net/stratum/Client.cpp index 78c0976f..e4d1d53a 100644 --- a/src/base/net/stratum/Client.cpp +++ b/src/base/net/stratum/Client.cpp @@ -379,11 +379,16 @@ bool xmrig::Client::parseJob(const rapidjson::Value ¶ms, int *code) } const char *algo = Json::getString(params, "algo"); + const char *blobData = Json::getString(params, "blob"); if (algo) { job.setAlgorithm(algo); } else if (m_pool.coin().isValid()) { - job.setAlgorithm(m_pool.coin().algorithm(job.blob()[0])); + uint8_t blobVersion = 0; + if (blobData) { + Cvt::fromHex(&blobVersion, 1, blobData, 2); + } + job.setAlgorithm(m_pool.coin().algorithm(blobVersion)); } # ifdef XMRIG_FEATURE_HTTP @@ -399,7 +404,7 @@ bool xmrig::Client::parseJob(const rapidjson::Value ¶ms, int *code) else # endif { - if (!job.setBlob(params["blob"].GetString())) { + if (!job.setBlob(blobData)) { *code = 4; return false; } diff --git a/src/base/net/stratum/DaemonClient.cpp b/src/base/net/stratum/DaemonClient.cpp index c429039d..5bfe095c 100644 --- a/src/base/net/stratum/DaemonClient.cpp +++ b/src/base/net/stratum/DaemonClient.cpp @@ -248,7 +248,9 @@ bool xmrig::DaemonClient::parseJob(const rapidjson::Value ¶ms, int *code) } if (m_pool.coin().isValid()) { - job.setAlgorithm(m_pool.coin().algorithm(job.blob()[0])); + uint8_t blobVersion = 0; + Cvt::fromHex(&blobVersion, 1, m_blockhashingblob.data(), 2); + job.setAlgorithm(m_pool.coin().algorithm(blobVersion)); } if (blocktemplate.isNull() || !job.setBlob(m_blockhashingblob)) { diff --git a/src/base/net/stratum/SelfSelectClient.cpp b/src/base/net/stratum/SelfSelectClient.cpp index 7f7ee544..a902e252 100644 --- a/src/base/net/stratum/SelfSelectClient.cpp +++ b/src/base/net/stratum/SelfSelectClient.cpp @@ -130,12 +130,17 @@ bool xmrig::SelfSelectClient::parseResponse(int64_t id, rapidjson::Value &result } } - if (!m_job.setBlob(result[kBlockhashingBlob].GetString())) { - return false; + const char *blobData = Json::getString(result, kBlockhashingBlob); + if (pool().coin().isValid()) { + uint8_t blobVersion = 0; + if (blobData) { + Cvt::fromHex(&blobVersion, 1, blobData, 2); + } + m_job.setAlgorithm(pool().coin().algorithm(blobVersion)); } - if (pool().coin().isValid()) { - m_job.setAlgorithm(pool().coin().algorithm(m_job.blob()[0])); + if (!m_job.setBlob(blobData)) { + return false; } m_job.setHeight(Json::getUint64(result, kHeight)); From 3171b06048fc7b102a48a3413b4033af70b1d292 Mon Sep 17 00:00:00 2001 From: xmrig Date: Wed, 7 Apr 2021 10:32:17 +0700 Subject: [PATCH 2/3] Update CHANGELOG.md --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ee495528..93a4c6d0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +# v6.11.1 +- [#2239](https://github.com/xmrig/xmrig/pull/2239) Fixed broken `coin` setting functionality. + # v6.11.0 - [#2196](https://github.com/xmrig/xmrig/pull/2196) Improved DNS subsystem and added new DNS specific options. - [#2172](https://github.com/xmrig/xmrig/pull/2172) Fixed build on Alpine 3.13. From 0f83b5e06c75c95b9d8f529ba5aa5ab747eb9303 Mon Sep 17 00:00:00 2001 From: XMRig Date: Wed, 7 Apr 2021 10:34:37 +0700 Subject: [PATCH 3/3] v6.11.1 --- src/version.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/version.h b/src/version.h index 16601668..3ed3a241 100644 --- a/src/version.h +++ b/src/version.h @@ -28,7 +28,7 @@ #define APP_ID "xmrig" #define APP_NAME "XMRig" #define APP_DESC "XMRig miner" -#define APP_VERSION "6.11.0" +#define APP_VERSION "6.11.1" #define APP_DOMAIN "xmrig.com" #define APP_SITE "www.xmrig.com" #define APP_COPYRIGHT "Copyright (C) 2016-2021 xmrig.com" @@ -36,7 +36,7 @@ #define APP_VER_MAJOR 6 #define APP_VER_MINOR 11 -#define APP_VER_PATCH 0 +#define APP_VER_PATCH 1 #ifdef _MSC_VER # if (_MSC_VER >= 1920)