diff --git a/src/stratifier.c b/src/stratifier.c index 694b47c9..50aa5cfb 100644 --- a/src/stratifier.c +++ b/src/stratifier.c @@ -2672,10 +2672,18 @@ static json_t *parse_subscribe(stratum_instance_t *client, const int64_t client_ /* Workbases will exist if sdata->current_workbase is not NULL */ ck_rlock(&sdata->workbase_lock); n2len = sdata->workbases->enonce2varlen; - JSON_CPACK(ret, "[[[s,s]],s,i]", "mining.notify", client->enonce1, client->enonce1, - n2len); ck_runlock(&sdata->workbase_lock); + /* Send a blank sessionid in proxy mode so clients don't think we have + * resumed if enonce1 ends up matching on reconnect. */ + if (ckp->proxy) { + JSON_CPACK(ret, "[[[s,s]],s,i]", "mining.notify", "", client->enonce1, + n2len); + } else { + JSON_CPACK(ret, "[[[s,s]],s,i]", "mining.notify", client->enonce1, client->enonce1, + n2len); + } + client->subscribed = true; return ret;