do all todos
This commit is contained in:
parent
ca7c91216b
commit
713bfdb6ff
|
@ -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(
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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),
|
||||
))
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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 {}
|
||||
|
|
|
@ -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")]
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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};
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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)))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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)))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue