do all todos

This commit is contained in:
ayham 2021-06-02 16:49:32 +03:00
parent ca7c91216b
commit 713bfdb6ff
Signed by: ayham
GPG Key ID: EAB7F5A9DF503678
12 changed files with 53 additions and 21 deletions

View File

@ -34,8 +34,12 @@ pub async fn acc_retrieve_portfolio(
socket: &mut TlsStream<TcpStream>,
auth_jwt: String,
) -> io::Result<Portfolio> {
// TODO: yea absolutely, let's crash the thread
assert_eq!(auth_jwt.is_empty(), false);
if auth_jwt.is_empty() == true {
return Err(io::Error::new(
io::ErrorKind::PermissionDenied,
"ACC_RETRIEVE_PORTFOLIO: JWT TOKEN EMPTY"
));
}
/* build message request */
let message = message_builder(

View File

@ -35,8 +35,12 @@ pub async fn acc_retrieve_transaction(
socket: &mut TlsStream<TcpStream>,
auth_jwt: String,
) -> io::Result<Vec<Transaction>> {
// TODO: yea absolutely, let's crash the thread
assert_eq!(auth_jwt.is_empty(), false);
if auth_jwt.is_empty() == true {
return Err(io::Error::new(
io::ErrorKind::PermissionDenied,
"ACC_RETRIEVE_TRANSACTION: JWT TOKEN EMPTY"
));
}
/* build message request */
let message = message_builder(

View File

@ -6,6 +6,7 @@ use crate::common::message::inst::CommandInst;
use crate::common::message::message::Message;
use crate::common::message::message_builder::message_builder;
use crate::common::message::message_type::MessageType;
use crate::common::misc::assert_msg::assert_msg;
use crate::common::misc::return_flags::ReturnFlags;
use tokio::io::{AsyncReadExt, AsyncWriteExt};
@ -56,12 +57,16 @@ pub async fn get_server_salt(
)
})?;
// TODO: crash this thread LOVELY ERROR CHECKING!
assert_eq!(ret_msg.msgtype, MessageType::DataTransfer);
assert_eq!(ret_msg.instruction, CommandInst::GenHashSalt as i64);
assert_eq!(ret_msg.argument_count, 1);
assert_eq!(ret_msg.data_message_number, 0);
assert_eq!(ret_msg.data_message_max, 1);
assert_eq!(ret_msg.data.len(), digest::SHA512_OUTPUT_LEN / 2);
Ok(*array_ref!(ret_msg.data, 0, digest::SHA512_OUTPUT_LEN / 2))
if assert_msg(&ret_msg, MessageType::DataTransfer,
true, 1,
false, 0,
true, 1,
true, digest::SHA512_OUTPUT_LEN / 2) {
Ok(*array_ref!(ret_msg.data, 0, digest::SHA512_OUTPUT_LEN / 2))
}
else {
Err(io::Error::new(io::ErrorKind::InvalidData,
format!("{}", ReturnFlags::ClientReqSaltInvMsg),
))
}
}

View File

@ -8,6 +8,7 @@ use tokio_rustls::rustls::{ClientConfig, KeyLogFile, NoClientSessionStorage};
/// using this in production envs will be a HUGE security vuln.
#[cfg(feature = "tls_no_verify")]
mod danger {
use log::warn;
use tokio_rustls::rustls;
use tokio_rustls::webpki;
pub struct NoCertificateVerification {}

View File

@ -1,7 +1,3 @@
#[cfg(any(feature = "server", feature = "client"))]
#[macro_use]
extern crate log;
/* Server crates */
#[cfg(all(feature = "server", not(feature = "client")))]
extern crate arrayref;
@ -29,6 +25,7 @@ extern crate bincode;
extern crate crypto;
extern crate os_type;
extern crate log;
pub mod common;
#[cfg(feature = "client")]

View File

@ -1,3 +1,5 @@
use log::warn;
use crate::common::account::portfolio::Portfolio;
use crate::common::account::position::Position;
use crate::common::message::message::Message;

View File

@ -1,3 +1,5 @@
use log::warn;
use crate::common::account::transaction::Transaction;
use crate::common::message::message::Message;
use crate::common::message::message_builder::message_builder;

View File

@ -1,14 +1,15 @@
use argh::FromArgs;
use std::io;
use std::path::PathBuf;
use std::sync::Arc;
use std::net::ToSocketAddrs;
use log::warn;
use argh::FromArgs;
use tokio::io::AsyncReadExt;
use tokio::net::TcpListener;
use tokio_rustls::TlsAcceptor;
use std::net::ToSocketAddrs;
use crate::server::network::gen_tls_server_config::gen_tls_server_config;
use crate::server::db::config::{DB_ACC_PASS, DB_ACC_USER};

View File

@ -1,3 +1,5 @@
use log::warn;
use crate::common::message::inst::CommandInst;
use crate::common::message::message::Message;
use crate::common::message::message_builder::message_builder;

View File

@ -1,3 +1,5 @@
use log::warn;
use crate::common::message::inst::CommandInst;
use crate::common::message::message::Message;
use crate::common::message::message_builder::message_builder;

View File

@ -1,7 +1,11 @@
use std::io;
use log::warn;
use crate::common::message::inst::DataTransferInst;
use crate::common::message::message::Message;
use crate::common::message::message_type::MessageType;
use crate::common::misc::assert_msg::assert_msg;
use crate::common::misc::return_flags::ReturnFlags;
use crate::server::account::retrieval_portfolio::acc_retrieve_portfolio;
@ -37,7 +41,9 @@ pub async fn retrieve_portfolio(
Ok(_) => Ok(()),
Err(err) => {
warn!("RETRIEVE_PORTFOLIO_FAILED: {}", err);
Ok(()) // TODO: return error
Err(io::Error::new(
io::ErrorKind::Other,
format!("{}: {}", ReturnFlags::ServerRetrievePortfolioFailed, err)))
}
}
}

View File

@ -1,7 +1,11 @@
use std::io;
use log::warn;
use crate::common::message::inst::DataTransferInst;
use crate::common::message::message::Message;
use crate::common::message::message_type::MessageType;
use crate::common::misc::assert_msg::assert_msg;
use crate::common::misc::return_flags::ReturnFlags;
use crate::server::account::retrieval_transaction::acc_retrieve_transaction;
@ -38,7 +42,9 @@ pub async fn retrieve_transactions(
Ok(_) => Ok(()),
Err(err) => {
warn!("RETRIEVE_TRANSACTION_FAILED: {}", err);
Ok(()) // TODO: return error
Err(io::Error::new(
io::ErrorKind::Other,
format!("{}: {}", ReturnFlags::ServerRetrieveTransactionFailed, err)))
}
}
}