From 35d868fb48a29a5954300e31fd02853eb08cf97b Mon Sep 17 00:00:00 2001 From: XMRig Date: Mon, 8 Apr 2019 02:16:54 +0700 Subject: [PATCH] Fix --userpass option. --- src/base/kernel/config/BaseTransform.cpp | 15 ++++++++++++++- src/base/net/stratum/Client.cpp | 4 ++-- src/base/net/stratum/Pool.cpp | 19 +------------------ src/base/net/stratum/Pool.h | 1 - 4 files changed, 17 insertions(+), 22 deletions(-) diff --git a/src/base/kernel/config/BaseTransform.cpp b/src/base/kernel/config/BaseTransform.cpp index 5a05111b..3b6b6d82 100644 --- a/src/base/kernel/config/BaseTransform.cpp +++ b/src/base/kernel/config/BaseTransform.cpp @@ -98,7 +98,20 @@ void xmrig::BaseTransform::transform(rapidjson::Document &doc, int key, const ch return set(doc, "algo", arg); case IConfig::UserpassKey: /* --userpass */ - return add(doc, kPools, "userpass", arg); + { + const char *p = strrchr(arg, ':'); + if (!p) { + return; + } + + char *user = new char[p - arg + 1](); + strncpy(user, arg, static_cast(p - arg)); + + add(doc, kPools, "user", user); + add(doc, kPools, "pass", p + 1); + delete [] user; + } + break; case IConfig::UrlKey: /* --url */ return add(doc, kPools, "url", arg, true); diff --git a/src/base/net/stratum/Client.cpp b/src/base/net/stratum/Client.cpp index 667dd448..62c15f5a 100644 --- a/src/base/net/stratum/Client.cpp +++ b/src/base/net/stratum/Client.cpp @@ -541,7 +541,7 @@ int64_t xmrig::Client::send(const rapidjson::Document &doc) int64_t xmrig::Client::send(size_t size) { - LOG_DEBUG("[%s] send (%d bytes): \"%s\"", url(), size, m_sendBuf); + LOG_DEBUG("[%s] send (%d bytes): \"%.*s\"", url(), size, static_cast(size) - 1, m_sendBuf); # ifdef XMRIG_FEATURE_TLS if (isTLS()) { @@ -676,7 +676,7 @@ void xmrig::Client::parse(char *line, size_t len) { startTimeout(); - LOG_DEBUG("[%s] received (%d bytes): \"%s\"", url(), len, line); + LOG_DEBUG("[%s] received (%d bytes): \"%.*s\"", url(), len, static_cast(len), line); if (len < 32 || line[0] != '{') { if (!isQuiet()) { diff --git a/src/base/net/stratum/Pool.cpp b/src/base/net/stratum/Pool.cpp index c618707a..25fd13aa 100644 --- a/src/base/net/stratum/Pool.cpp +++ b/src/base/net/stratum/Pool.cpp @@ -246,23 +246,6 @@ bool xmrig::Pool::parse(const char *url) } -bool xmrig::Pool::setUserpass(const char *userpass) -{ - const char *p = strchr(userpass, ':'); - if (!p) { - return false; - } - - char *user = new char[p - userpass + 1](); - strncpy(user, userpass, static_cast(p - userpass)); - - m_user = user; - m_password = p + 1; - - return true; -} - - rapidjson::Value xmrig::Pool::toJSON(rapidjson::Document &doc) const { using namespace rapidjson; @@ -344,7 +327,7 @@ void xmrig::Pool::print() const LOG_DEBUG ("pass: %s", m_password.data()); LOG_DEBUG ("rig-id %s", m_rigId.data()); LOG_DEBUG ("algo: %s", m_algorithm.name()); - LOG_DEBUG ("nicehash: %d", static_cast(m_nicehash)); + LOG_DEBUG ("nicehash: %d", static_cast(m_flags.test(FLAG_NICEHASH))); LOG_DEBUG ("keepAlive: %d", m_keepAlive); } #endif diff --git a/src/base/net/stratum/Pool.h b/src/base/net/stratum/Pool.h index d933bb86..c8a7c44b 100644 --- a/src/base/net/stratum/Pool.h +++ b/src/base/net/stratum/Pool.h @@ -88,7 +88,6 @@ public: bool isEnabled() const; bool isEqual(const Pool &other) const; bool parse(const char *url); - bool setUserpass(const char *userpass); rapidjson::Value toJSON(rapidjson::Document &doc) const; void adjust(const Algorithm &algorithm); void setAlgo(const Algorithm &algorithm);