fix assert_msg() & add custom checking
This commit is contained in:
parent
13e4e70511
commit
ff47da67c0
|
@ -1,3 +1,3 @@
|
|||
#!/bin/sh
|
||||
|
||||
docker-compose -f ../DockerFiles/master_server.yml ${1:-up}
|
||||
docker-compose -f ./DockerFiles/master_server.yml ${1:-up}
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
#!/bin/sh
|
||||
|
||||
docker-compose -f ../DockerFiles/sandbox.yml ${1:-up}
|
||||
docker-compose -f ./DockerFiles/sandbox.yml ${1:-up}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/sh
|
||||
|
||||
sudo rm -rf ../DockerFiles/.db
|
||||
sudo rm -rf ../DockerFiles/.bak
|
||||
sudo rm -rf ./DockerFiles/.db
|
||||
sudo rm -rf ./DockerFiles/.bak
|
||||
|
|
|
@ -93,6 +93,7 @@ pub fn acc_auth(
|
|||
let response: Message = bincode::deserialize(&tls_client.read_plaintext).unwrap();
|
||||
tls_client.read_plaintext.clear();
|
||||
|
||||
// TODO: what even is this kind of checking?
|
||||
if response.msgtype == MessageType::ServerReturn
|
||||
&& response.instruction == 1
|
||||
&& response.argument_count == 1
|
||||
|
|
|
@ -17,17 +17,24 @@ use crate::common::message::message_type::MessageType;
|
|||
pub fn assert_msg(
|
||||
message: &Message,
|
||||
msg_type: MessageType,
|
||||
check_arg_cnt: bool,
|
||||
arg_cnt: usize,
|
||||
check_dnum: bool,
|
||||
msg_dnum: usize,
|
||||
check_dmax: bool,
|
||||
msg_dmax: usize,
|
||||
check_len: bool,
|
||||
data_len: usize,
|
||||
) -> bool {
|
||||
if message.msgtype != msg_type
|
||||
|| message.argument_count != arg_cnt
|
||||
|| message.data_message_number != msg_dnum
|
||||
|| message.data_message_max != msg_dmax
|
||||
|| message.data.len() == data_len
|
||||
{
|
||||
if message.msgtype != msg_type {
|
||||
return false;
|
||||
} else if check_arg_cnt && (message.argument_count != arg_cnt) {
|
||||
return false;
|
||||
} else if check_dnum && (message.data_message_number != msg_dnum) {
|
||||
return false;
|
||||
} else if check_dmax && (message.data_message_max != msg_dmax) {
|
||||
return false;
|
||||
} else if check_len && (message.data.len() != data_len) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -10,7 +10,18 @@ use crate::server::network::tls_connection::TlsConnection;
|
|||
|
||||
pub fn get_asset_data(tls_connection: &mut TlsConnection, message: &Message) {
|
||||
/* assert recieved message */
|
||||
if assert_msg(message, MessageType::DataTransfer, 3, 0, 0, 0) {
|
||||
if assert_msg(
|
||||
message,
|
||||
MessageType::DataTransfer,
|
||||
true,
|
||||
3,
|
||||
false,
|
||||
0,
|
||||
false,
|
||||
0,
|
||||
false,
|
||||
0,
|
||||
) {
|
||||
tls_connection.closing = true;
|
||||
warn!("GET_ASSET_DATA_MSG_ASSERT_FAILED");
|
||||
return;
|
||||
|
|
|
@ -11,7 +11,18 @@ use crate::server::network::tls_connection::TlsConnection;
|
|||
|
||||
pub fn get_asset_info(tls_connection: &mut TlsConnection, message: &Message) {
|
||||
/* assert recieved message */
|
||||
if assert_msg(message, MessageType::DataTransfer, 1, 0, 0, 0) {
|
||||
if assert_msg(
|
||||
message,
|
||||
MessageType::DataTransfer,
|
||||
true,
|
||||
1,
|
||||
false,
|
||||
0,
|
||||
false,
|
||||
0,
|
||||
false,
|
||||
0,
|
||||
) {
|
||||
tls_connection.closing = true;
|
||||
warn!("GET_ASSET_INFO_INVALID_MESSAGE");
|
||||
return;
|
||||
|
|
|
@ -10,7 +10,18 @@ use crate::server::network::tls_connection::TlsConnection;
|
|||
|
||||
pub fn login_normal(tls_connection: &mut TlsConnection, message: &Message) {
|
||||
/* assert recieved message */
|
||||
if assert_msg(message, MessageType::Command, 3, 0, 0, 0) {
|
||||
if !assert_msg(
|
||||
message,
|
||||
MessageType::Command,
|
||||
true,
|
||||
3,
|
||||
false,
|
||||
0,
|
||||
false,
|
||||
0,
|
||||
false,
|
||||
0,
|
||||
) {
|
||||
tls_connection.closing = true;
|
||||
warn!("LOGIN_INVALID_MESSAGE");
|
||||
return;
|
||||
|
|
|
@ -10,7 +10,18 @@ use crate::server::network::tls_connection::TlsConnection;
|
|||
|
||||
pub fn register(tls_connection: &mut TlsConnection, message: &Message) {
|
||||
/* assert recieved message */
|
||||
if assert_msg(message, MessageType::Command, 5, 0, 0, 0) {
|
||||
if !assert_msg(
|
||||
message,
|
||||
MessageType::Command,
|
||||
true,
|
||||
5,
|
||||
false,
|
||||
0,
|
||||
false,
|
||||
0,
|
||||
false,
|
||||
0,
|
||||
) {
|
||||
warn!("REGISTER_INVALID_MESSAGE");
|
||||
tls_connection.closing = true;
|
||||
return;
|
||||
|
|
|
@ -7,7 +7,18 @@ use crate::server::network::tls_connection::TlsConnection;
|
|||
|
||||
pub fn retrieve_portfolio(tls_connection: &mut TlsConnection, message: &Message) {
|
||||
/* assert recieved message */
|
||||
if assert_msg(message, MessageType::Command, 1, 0, 0, 0) {
|
||||
if !assert_msg(
|
||||
message,
|
||||
MessageType::Command,
|
||||
true,
|
||||
1,
|
||||
false,
|
||||
0,
|
||||
false,
|
||||
0,
|
||||
false,
|
||||
0,
|
||||
) {
|
||||
tls_connection.closing = true;
|
||||
warn!("RETRIEVE_PORTFOLIO_INVALID_MESSAGE");
|
||||
return;
|
||||
|
|
|
@ -7,7 +7,18 @@ use crate::server::network::tls_connection::TlsConnection;
|
|||
|
||||
pub fn retrieve_transactions(tls_connection: &mut TlsConnection, message: &Message) {
|
||||
/* assert recieved message */
|
||||
if assert_msg(message, MessageType::DataTransfer, 1, 0, 0, 0) {
|
||||
if !assert_msg(
|
||||
message,
|
||||
MessageType::DataTransfer,
|
||||
true,
|
||||
1,
|
||||
false,
|
||||
0,
|
||||
false,
|
||||
0,
|
||||
false,
|
||||
0,
|
||||
) {
|
||||
tls_connection.closing = true;
|
||||
warn!("RETRIEVE_TRANSACTION_INVALID_MESSAGE");
|
||||
return;
|
||||
|
|
Loading…
Reference in New Issue