User control messages. (#56)

This commit is contained in:
Ravin Perera
2019-11-11 15:06:25 +05:30
committed by GitHub
parent 403f2e1b21
commit 39031c3157
10 changed files with 155 additions and 72 deletions

View File

@@ -88,7 +88,7 @@ int verify_challenge(std::string_view message, sock::socket_session<user_outboun
ctx.pending_challenges.erase(session->uniqueid); // Remove the stored challenge
LOG_DBG << "User connection " << session->uniqueid << " authenticated. Public key "
<< userpubkeyhex;
<< userpubkeyhex;
return 0;
}
else
@@ -123,7 +123,7 @@ int handle_user_message(connected_user &user, std::string_view message)
if (jusrmsg::extract_signed_input_container(contentjson, sig, d) == 0)
{
std::lock_guard<std::mutex> lock(ctx.users_mutex);
//Add to the submitted input list.
user.submitted_inputs.push_back(user_submitted_message(
std::move(contentjson),
@@ -131,6 +131,14 @@ int handle_user_message(connected_user &user, std::string_view message)
return 0;
}
}
else if (d[jusrmsg::FLD_TYPE] == jusrmsg::MSGTYPE_STAT)
{
std::string msg;
LOG_DBG << msg;
jusrmsg::create_status_response(msg);
user.session->send(user_outbound_message(std::move(msg)));
return 0;
}
else
{
LOG_DBG << "Invalid user message type: " << d[jusrmsg::FLD_TYPE].GetString();