summaryrefslogtreecommitdiffstats
path: root/xmrstak/net/jpsock.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'xmrstak/net/jpsock.cpp')
-rw-r--r--xmrstak/net/jpsock.cpp21
1 files changed, 14 insertions, 7 deletions
diff --git a/xmrstak/net/jpsock.cpp b/xmrstak/net/jpsock.cpp
index 381cbce..5769448 100644
--- a/xmrstak/net/jpsock.cpp
+++ b/xmrstak/net/jpsock.cpp
@@ -414,10 +414,17 @@ bool jpsock::process_pool_job(const opq_json_val* params)
else
return set_socket_error("PARSE error: Job error 5");
- if(motd != nullptr && motd->IsString())
+ if(motd != nullptr && motd->IsString() && (motd->GetStringLength() & 0x01) == 0)
{
std::unique_lock<std::mutex>(motd_mutex);
- pool_motd.assign(motd->GetString());
+ if(motd->GetStringLength() > 0)
+ {
+ pool_motd.resize(motd->GetStringLength()/2 + 1);
+ if(!hex2bin(motd->GetString(), motd->GetStringLength(), (unsigned char*)&pool_motd.front()))
+ pool_motd.clear();
+ }
+ else
+ pool_motd.clear();
}
iJobDiff = t64_to_diff(oPoolJob.iTarget);
@@ -564,13 +571,13 @@ bool jpsock::cmd_login()
std::string tmp(jextname.GetString());
std::transform(tmp.begin(), tmp.end(), tmp.begin(), ::tolower);
- if(tmp.compare("algo"))
+ if(tmp == "algo")
ext_algo = true;
- else if(tmp.compare("backend"))
+ else if(tmp == "backend")
ext_backend = true;
- else if(tmp.compare("hashcount"))
+ else if(tmp == "hashcount")
ext_hashcount = true;
- else if(tmp.compare("motd"))
+ else if(tmp == "motd")
ext_motd = true;
}
}
@@ -602,7 +609,7 @@ bool jpsock::cmd_submit(const char* sJobId, uint32_t iNonce, const uint8_t* bRes
snprintf(sBackend, sizeof(sBackend), ",\"backend\":\"%s\"", xmrstak::iBackend::getName(bend->backendType));
if(ext_hashcount)
- snprintf(sHashcount, sizeof(sHashcount), ",\"hashcount\":\"%llu\"", int_port(bend->iHashCount.load(std::memory_order_relaxed)));
+ snprintf(sHashcount, sizeof(sHashcount), ",\"hashcount\":%llu", int_port(bend->iHashCount.load(std::memory_order_relaxed)));
if(ext_algo)
snprintf(sAlgo, sizeof(sAlgo), ",\"algo\":\"%s\"", algo_full_cn ? "cryptonight" : "cryptonight-lite");
OpenPOWER on IntegriCloud