r5sdk/r5dev/resource/protobuf/netcon.proto
Kawe Mazidjatari b26ed2f746 Engine: implement encryption for RCON protocol
RCON lacked encryption, added AES-CTR encryption on RCON frames. Slightly adjusted protocol to take this into account (sending nonces, encrypted data itself, etc).
2024-06-01 11:24:47 +02:00

57 lines
1.5 KiB
Protocol Buffer

//////////////////////////////////////////////////////////////////////
// R5Sdk netconsole protocol
//////////////////////////////////////////////////////////////////////
syntax = "proto3";
package netcon;
option optimize_for = LITE_RUNTIME;
//////////////////////////////////////////////////////////////////////
// Request from netconsole
//////////////////////////////////////////////////////////////////////
enum request_e
{
SERVERDATA_REQUEST_EXECCOMMAND = 0;
SERVERDATA_REQUEST_AUTH = 1;
SERVERDATA_REQUEST_SEND_CONSOLE_LOG = 2;
}
message request
{
optional int32 messageId = 1;
optional int32 messageType = 2;
optional request_e requestType = 3;
optional string requestMsg = 4;
optional string requestVal = 5;
}
//////////////////////////////////////////////////////////////////////
// Response to netconsole
//////////////////////////////////////////////////////////////////////
enum response_e
{
SERVERDATA_RESPONSE_AUTH = 0;
SERVERDATA_RESPONSE_CONSOLE_LOG = 1;
}
message response
{
optional int32 messageId = 1;
optional int32 messageType = 2;
optional response_e responseType = 3;
optional string responseMsg = 4;
optional string responseVal = 5;
}
//////////////////////////////////////////////////////////////////////
// Message envelope
//////////////////////////////////////////////////////////////////////
message envelope
{
bool encrypted = 1;
bytes nonce = 2;
bytes data = 3;
}