From f08887180d3cbc4da40e4f6ee846e95b55aea04b Mon Sep 17 00:00:00 2001 From: XMRig Date: Tue, 10 Nov 2020 21:29:13 +0700 Subject: [PATCH] Added --token command line option. --- src/backend/common/Benchmark.cpp | 2 +- src/base/kernel/interfaces/IConfig.h | 1 + src/base/net/stratum/benchmark/BenchClient.cpp | 1 + src/base/net/stratum/benchmark/BenchConfig.cpp | 5 +++-- src/base/net/stratum/benchmark/BenchConfig.h | 2 ++ src/core/config/ConfigTransform.cpp | 4 ++++ src/core/config/Config_platform.h | 1 + 7 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/backend/common/Benchmark.cpp b/src/backend/common/Benchmark.cpp index 869afb05..d6020916 100644 --- a/src/backend/common/Benchmark.cpp +++ b/src/backend/common/Benchmark.cpp @@ -87,7 +87,7 @@ bool xmrig::Benchmark::finish(uint64_t totalHashCount) doc.AddMember("steady_done_ts", m_doneTime, allocator); doc.AddMember(StringRef(BenchConfig::kHash), Value(fmt::format("{:016X}", m_data).c_str(), allocator), allocator); - doc.AddMember("backend", m_backend->toJSON(doc), allocator); // FIXME + doc.AddMember("backend", m_backend->toJSON(doc), allocator); send(doc); } diff --git a/src/base/kernel/interfaces/IConfig.h b/src/base/kernel/interfaces/IConfig.h index fd7c873e..8b5ae278 100644 --- a/src/base/kernel/interfaces/IConfig.h +++ b/src/base/kernel/interfaces/IConfig.h @@ -83,6 +83,7 @@ public: BenchVerifyKey = 1045, BenchSeedKey = 1046, BenchHashKey = 1047, + BenchTokenKey = 1048, // xmrig common CPUPriorityKey = 1021, diff --git a/src/base/net/stratum/benchmark/BenchClient.cpp b/src/base/net/stratum/benchmark/BenchClient.cpp index 51181cf8..bc71492b 100644 --- a/src/base/net/stratum/benchmark/BenchClient.cpp +++ b/src/base/net/stratum/benchmark/BenchClient.cpp @@ -54,6 +54,7 @@ xmrig::BenchClient::BenchClient(const std::shared_ptr &benchmark, I if (!m_benchmark->id().isEmpty()) { m_job.setId(m_benchmark->id()); + m_job.setBenchToken(m_benchmark->token()); m_mode = ONLINE_VERIFY; return; diff --git a/src/base/net/stratum/benchmark/BenchConfig.cpp b/src/base/net/stratum/benchmark/BenchConfig.cpp index ca4a781a..c52ac1c2 100644 --- a/src/base/net/stratum/benchmark/BenchConfig.cpp +++ b/src/base/net/stratum/benchmark/BenchConfig.cpp @@ -57,6 +57,7 @@ xmrig::BenchConfig::BenchConfig(uint32_t size, const String &id, const rapidjson m_submit(Json::getBool(object, kSubmit)), m_id(id), m_seed(Json::getString(object, kSeed)), + m_token(Json::getString(object, kToken)), m_size(size), m_hash(0) { @@ -91,12 +92,12 @@ xmrig::BenchConfig *xmrig::BenchConfig::create(const rapidjson::Value &object) uint32_t xmrig::BenchConfig::getSize(const char *benchmark) { if (!benchmark) { - return false; + return 0; } const auto size = strtoul(benchmark, nullptr, 10); if (size < 1 || size > 10) { - return false; + return 0; } return strcasecmp(benchmark, fmt::format("{}M", size).c_str()) == 0 ? size * 1000000 : 0; diff --git a/src/base/net/stratum/benchmark/BenchConfig.h b/src/base/net/stratum/benchmark/BenchConfig.h index 3d9909e9..69850230 100644 --- a/src/base/net/stratum/benchmark/BenchConfig.h +++ b/src/base/net/stratum/benchmark/BenchConfig.h @@ -57,6 +57,7 @@ public: inline const Algorithm &algorithm() const { return m_algorithm; } inline const String &id() const { return m_id; } inline const String &seed() const { return m_seed; } + inline const String &token() const { return m_token; } inline uint32_t size() const { return m_size; } inline uint64_t hash() const { return m_hash; } @@ -67,6 +68,7 @@ private: bool m_submit; String m_id; String m_seed; + String m_token; uint32_t m_size; uint64_t m_hash; }; diff --git a/src/core/config/ConfigTransform.cpp b/src/core/config/ConfigTransform.cpp index e6de9855..b8a431fd 100644 --- a/src/core/config/ConfigTransform.cpp +++ b/src/core/config/ConfigTransform.cpp @@ -257,6 +257,7 @@ void xmrig::ConfigTransform::transform(rapidjson::Document &doc, int key, const case IConfig::StressKey: /* --stress */ case IConfig::BenchSubmitKey: /* --submit */ case IConfig::BenchVerifyKey: /* --verify */ + case IConfig::BenchTokenKey: /* --token */ case IConfig::BenchSeedKey: /* --seed */ case IConfig::BenchHashKey: /* --hash */ return transformBenchmark(doc, key, arg); @@ -333,6 +334,9 @@ void xmrig::ConfigTransform::transformBenchmark(rapidjson::Document &doc, int ke case IConfig::BenchVerifyKey: /* --verify */ return set(doc, BenchConfig::kBenchmark, BenchConfig::kVerify, arg); + case IConfig::BenchTokenKey: /* --token */ + return set(doc, BenchConfig::kBenchmark, BenchConfig::kToken, arg); + case IConfig::BenchSeedKey: /* --seed */ return set(doc, BenchConfig::kBenchmark, BenchConfig::kSeed, arg); diff --git a/src/core/config/Config_platform.h b/src/core/config/Config_platform.h index 452bdd45..f698836c 100644 --- a/src/core/config/Config_platform.h +++ b/src/core/config/Config_platform.h @@ -103,6 +103,7 @@ static const option options[] = { # ifdef XMRIG_FEATURE_HTTP { "submit", 0, nullptr, IConfig::BenchSubmitKey }, { "verify", 1, nullptr, IConfig::BenchVerifyKey }, + { "token", 1, nullptr, IConfig::BenchTokenKey }, # endif { "seed", 1, nullptr, IConfig::BenchSeedKey }, { "hash", 1, nullptr, IConfig::BenchHashKey },