fix(warnings): remove unused imports to get rid of warnings
This commit is contained in:
parent
2b9f55e4d2
commit
f74cfd3ff3
21 changed files with 15 additions and 38 deletions
|
|
@ -71,7 +71,7 @@ impl KerberosDateTime{
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn get_year(&self) -> u64{
|
pub fn get_year(&self) -> u64{
|
||||||
((self.0 >> 26) & 0xFFFFFFFF)
|
(self.0 >> 26) & 0xFFFFFFFF
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn to_regular_time(&self) -> chrono::DateTime<Utc>{
|
pub fn to_regular_time(&self) -> chrono::DateTime<Utc>{
|
||||||
|
|
|
||||||
10
src/main.rs
10
src/main.rs
|
|
@ -7,12 +7,11 @@ use std::net::{Ipv4Addr, SocketAddrV4};
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use chrono::Local;
|
use chrono::Local;
|
||||||
use log::info;
|
use log::info;
|
||||||
use macros::RmcSerialize;
|
|
||||||
use once_cell::sync::Lazy;
|
use once_cell::sync::Lazy;
|
||||||
use rc4::{KeyInit, Rc4, StreamCipher};
|
use rc4::{KeyInit, Rc4, StreamCipher};
|
||||||
use rc4::consts::U5;
|
use rc4::consts::U5;
|
||||||
use simplelog::{ColorChoice, CombinedLogger, Config, LevelFilter, TerminalMode, TermLogger, WriteLogger};
|
use simplelog::{ColorChoice, CombinedLogger, Config, LevelFilter, TerminalMode, TermLogger, WriteLogger};
|
||||||
use tokio::sync::{Mutex, RwLock};
|
use tokio::sync::RwLock;
|
||||||
use tokio::task::JoinHandle;
|
use tokio::task::JoinHandle;
|
||||||
use crate::nex::account::Account;
|
use crate::nex::account::Account;
|
||||||
use crate::protocols::{auth, block_if_maintenance};
|
use crate::protocols::{auth, block_if_maintenance};
|
||||||
|
|
@ -20,12 +19,11 @@ use crate::protocols::auth::AuthProtocolConfig;
|
||||||
use crate::protocols::matchmake_common::MatchmakeData;
|
use crate::protocols::matchmake_common::MatchmakeData;
|
||||||
use crate::protocols::server::RMCProtocolServer;
|
use crate::protocols::server::RMCProtocolServer;
|
||||||
use crate::prudp::socket::{ActiveSecureConnectionData, EncryptionPair, Socket};
|
use crate::prudp::socket::{ActiveSecureConnectionData, EncryptionPair, Socket};
|
||||||
use crate::prudp::packet::{PRUDPPacket, VirtualPort};
|
use crate::prudp::packet::{VirtualPort};
|
||||||
use crate::prudp::router::Router;
|
use crate::prudp::router::Router;
|
||||||
use crate::prudp::secure::{generate_secure_encryption_pairs, read_secure_connection_data};
|
use crate::prudp::secure::{generate_secure_encryption_pairs, read_secure_connection_data};
|
||||||
use crate::rmc::message::RMCMessage;
|
use crate::rmc::message::RMCMessage;
|
||||||
use crate::rmc::structures::RmcSerialize;
|
use crate::rmc::structures::RmcSerialize;
|
||||||
use crate::rmc::structures::variant::Variant;
|
|
||||||
|
|
||||||
mod endianness;
|
mod endianness;
|
||||||
mod prudp;
|
mod prudp;
|
||||||
|
|
@ -121,7 +119,7 @@ async fn start_auth_server() -> AuthServer{
|
||||||
Box::new(auth::bound_protocol(auth_protocol_config))
|
Box::new(auth::bound_protocol(auth_protocol_config))
|
||||||
]));
|
]));
|
||||||
|
|
||||||
let mut socket =
|
let socket =
|
||||||
Socket::new(
|
Socket::new(
|
||||||
router.clone(),
|
router.clone(),
|
||||||
VirtualPort::new(1,10),
|
VirtualPort::new(1,10),
|
||||||
|
|
@ -191,7 +189,7 @@ async fn start_secure_server() -> SecureServer{
|
||||||
Box::new(protocols::matchmake_extension::bound_protocol(matchmake_data))
|
Box::new(protocols::matchmake_extension::bound_protocol(matchmake_data))
|
||||||
]));
|
]));
|
||||||
|
|
||||||
let mut socket =
|
let socket =
|
||||||
Socket::new(
|
Socket::new(
|
||||||
router.clone(),
|
router.clone(),
|
||||||
VirtualPort::new(1,10),
|
VirtualPort::new(1,10),
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,6 @@ use std::io::Cursor;
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use log::error;
|
use log::error;
|
||||||
use tokio::sync::Mutex;
|
use tokio::sync::Mutex;
|
||||||
use crate::nex::account::Account;
|
|
||||||
use crate::protocols::auth::AuthProtocolConfig;
|
use crate::protocols::auth::AuthProtocolConfig;
|
||||||
use crate::prudp::socket::{ConnectionData, SocketData};
|
use crate::prudp::socket::{ConnectionData, SocketData};
|
||||||
use crate::rmc::message::RMCMessage;
|
use crate::rmc::message::RMCMessage;
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,10 @@
|
||||||
use std::io::{Cursor, Write};
|
use std::io::{Cursor, Write};
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use bytemuck::bytes_of;
|
use bytemuck::bytes_of;
|
||||||
use hex::encode;
|
|
||||||
use log::{error};
|
use log::{error};
|
||||||
use tokio::sync::Mutex;
|
use tokio::sync::Mutex;
|
||||||
use crate::grpc::account;
|
use crate::grpc::account;
|
||||||
use crate::kerberos::KerberosDateTime;
|
use crate::kerberos::KerberosDateTime;
|
||||||
use crate::nex::account::Account;
|
|
||||||
use crate::protocols::auth::AuthProtocolConfig;
|
use crate::protocols::auth::AuthProtocolConfig;
|
||||||
use crate::protocols::auth::ticket_generation::generate_ticket;
|
use crate::protocols::auth::ticket_generation::generate_ticket;
|
||||||
use crate::prudp::socket::{ConnectionData, SocketData};
|
use crate::prudp::socket::{ConnectionData, SocketData};
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,13 @@
|
||||||
use std::io::Cursor;
|
use std::io::Cursor;
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use log::error;
|
|
||||||
use tokio::sync::Mutex;
|
use tokio::sync::Mutex;
|
||||||
use crate::endianness::{IS_BIG_ENDIAN, ReadExtensions};
|
use crate::endianness::{IS_BIG_ENDIAN, ReadExtensions};
|
||||||
use crate::grpc::account;
|
|
||||||
use crate::protocols::auth::{AuthProtocolConfig, get_login_data_by_pid};
|
use crate::protocols::auth::{AuthProtocolConfig, get_login_data_by_pid};
|
||||||
use crate::protocols::auth::method_login_ex::login_ex;
|
|
||||||
use crate::protocols::auth::ticket_generation::generate_ticket;
|
use crate::protocols::auth::ticket_generation::generate_ticket;
|
||||||
use crate::prudp::socket::{ConnectionData, SocketData};
|
use crate::prudp::socket::{ConnectionData, SocketData};
|
||||||
use crate::rmc::message::RMCMessage;
|
use crate::rmc::message::RMCMessage;
|
||||||
use crate::rmc::response::{ErrorCode, RMCResponseResult};
|
use crate::rmc::response::{ErrorCode, RMCResponseResult};
|
||||||
use crate::rmc::response::ErrorCode::Core_Unknown;
|
use crate::rmc::response::ErrorCode::Core_Unknown;
|
||||||
use crate::rmc::structures::any::Any;
|
|
||||||
use crate::rmc::structures::qresult::QResult;
|
use crate::rmc::structures::qresult::QResult;
|
||||||
use crate::rmc::structures::RmcSerialize;
|
use crate::rmc::structures::RmcSerialize;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,16 +3,12 @@ mod method_login;
|
||||||
mod ticket_generation;
|
mod ticket_generation;
|
||||||
mod method_request_ticket;
|
mod method_request_ticket;
|
||||||
|
|
||||||
use std::sync::Arc;
|
|
||||||
use log::{error};
|
|
||||||
use crate::define_protocol;
|
use crate::define_protocol;
|
||||||
use crate::grpc::account;
|
use crate::grpc::account;
|
||||||
use crate::nex::account::Account;
|
use crate::nex::account::Account;
|
||||||
use crate::protocols::auth::method_login::login_raw_params;
|
use crate::protocols::auth::method_login::login_raw_params;
|
||||||
use crate::protocols::auth::method_login_ex::login_ex_raw_params;
|
use crate::protocols::auth::method_login_ex::login_ex_raw_params;
|
||||||
use crate::protocols::auth::method_request_ticket::request_ticket_raw_params;
|
use crate::protocols::auth::method_request_ticket::request_ticket_raw_params;
|
||||||
use crate::rmc::message::RMCMessage;
|
|
||||||
use crate::rmc::response::{ErrorCode, RMCResponse};
|
|
||||||
|
|
||||||
#[derive(Copy, Clone)]
|
#[derive(Copy, Clone)]
|
||||||
pub struct AuthProtocolConfig {
|
pub struct AuthProtocolConfig {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
use std::io::Cursor;
|
use std::io::Cursor;
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use log::info;
|
|
||||||
use tokio::sync::{Mutex, RwLock};
|
use tokio::sync::{Mutex, RwLock};
|
||||||
use crate::protocols::matchmake_common::MatchmakeData;
|
use crate::protocols::matchmake_common::MatchmakeData;
|
||||||
use crate::prudp::socket::{ConnectionData, SocketData};
|
use crate::prudp::socket::{ConnectionData, SocketData};
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
use std::collections::{BTreeMap, HashMap};
|
use std::collections::{BTreeMap};
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use log::error;
|
use log::error;
|
||||||
use tokio::sync::Mutex;
|
use tokio::sync::Mutex;
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ mod method_get_playing_session;
|
||||||
mod method_auto_matchmake_with_param_postpone;
|
mod method_auto_matchmake_with_param_postpone;
|
||||||
|
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use tokio::sync::{Mutex, RwLock};
|
use tokio::sync::{RwLock};
|
||||||
use crate::define_protocol;
|
use crate::define_protocol;
|
||||||
use crate::protocols::matchmake_common::MatchmakeData;
|
use crate::protocols::matchmake_common::MatchmakeData;
|
||||||
use method_get_playing_session::get_playing_session_raw_params;
|
use method_get_playing_session::get_playing_session_raw_params;
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ static BYPASS_LEVEL: Lazy<i32> = Lazy::new(|| {
|
||||||
|
|
||||||
pub fn block_if_maintenance<'a>(rmcmessage: &'a RMCMessage, _: &'a Arc<SocketData> , conn: &'a Arc<Mutex<ConnectionData>>) -> Pin<Box<(dyn Future<Output=Option<RMCResponse>> + Send + 'a)>> {
|
pub fn block_if_maintenance<'a>(rmcmessage: &'a RMCMessage, _: &'a Arc<SocketData> , conn: &'a Arc<Mutex<ConnectionData>>) -> Pin<Box<(dyn Future<Output=Option<RMCResponse>> + Send + 'a)>> {
|
||||||
Box::pin(async move {
|
Box::pin(async move {
|
||||||
let mut conn = conn.lock().await;
|
let conn = conn.lock().await;
|
||||||
|
|
||||||
if let Some(active_conn) = conn.active_connection_data.as_ref() {
|
if let Some(active_conn) = conn.active_connection_data.as_ref() {
|
||||||
if let Some(secure_conn) = active_conn.active_secure_connection_data.as_ref() {
|
if let Some(secure_conn) = active_conn.active_secure_connection_data.as_ref() {
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,13 @@
|
||||||
use std::io::{Cursor, Write};
|
use std::io::{Cursor, Write};
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use bytemuck::bytes_of;
|
use bytemuck::bytes_of;
|
||||||
use log::{error, warn};
|
|
||||||
use tokio::sync::Mutex;
|
use tokio::sync::Mutex;
|
||||||
use crate::protocols::auth::AuthProtocolConfig;
|
|
||||||
use crate::prudp::socket::{ConnectionData, SocketData};
|
use crate::prudp::socket::{ConnectionData, SocketData};
|
||||||
use crate::prudp::station_url::{nat_types, StationUrl};
|
use crate::prudp::station_url::{nat_types, StationUrl};
|
||||||
use crate::prudp::station_url::Type::PRUDPS;
|
use crate::prudp::station_url::Type::PRUDPS;
|
||||||
use crate::prudp::station_url::UrlOptions::{Address, NatFiltering, NatMapping, NatType, Port, PrincipalID, RVConnectionID};
|
use crate::prudp::station_url::UrlOptions::{Address, NatFiltering, NatMapping, NatType, Port, PrincipalID, RVConnectionID};
|
||||||
use crate::rmc::message::RMCMessage;
|
use crate::rmc::message::RMCMessage;
|
||||||
use crate::rmc::response::{ErrorCode, RMCResponseResult};
|
use crate::rmc::response::{ErrorCode, RMCResponseResult};
|
||||||
use crate::rmc::structures::any::Any;
|
|
||||||
use crate::rmc::structures::qresult::QResult;
|
use crate::rmc::structures::qresult::QResult;
|
||||||
use crate::rmc::structures::RmcSerialize;
|
use crate::rmc::structures::RmcSerialize;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,11 +3,9 @@ use std::sync::Arc;
|
||||||
use log::error;
|
use log::error;
|
||||||
use tokio::sync::Mutex;
|
use tokio::sync::Mutex;
|
||||||
use crate::endianness::{IS_BIG_ENDIAN, ReadExtensions};
|
use crate::endianness::{IS_BIG_ENDIAN, ReadExtensions};
|
||||||
use crate::protocols::secure::method_register::register;
|
|
||||||
use crate::prudp::socket::{ConnectionData, SocketData};
|
use crate::prudp::socket::{ConnectionData, SocketData};
|
||||||
use crate::prudp::station_url::StationUrl;
|
|
||||||
use crate::rmc::message::RMCMessage;
|
use crate::rmc::message::RMCMessage;
|
||||||
use crate::rmc::response::{ErrorCode, RMCResponseResult};
|
use crate::rmc::response::{RMCResponseResult};
|
||||||
use crate::rmc::response::ErrorCode::Core_InvalidArgument;
|
use crate::rmc::response::ErrorCode::Core_InvalidArgument;
|
||||||
use crate::rmc::structures::qbuffer;
|
use crate::rmc::structures::qbuffer;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,6 @@ use rc4::consts::U16;
|
||||||
use crate::endianness::{IS_BIG_ENDIAN, ReadExtensions};
|
use crate::endianness::{IS_BIG_ENDIAN, ReadExtensions};
|
||||||
use crate::kerberos::{derive_key, TicketInternalData};
|
use crate::kerberos::{derive_key, TicketInternalData};
|
||||||
use crate::nex::account::Account;
|
use crate::nex::account::Account;
|
||||||
use crate::prudp::packet::PRUDPHeader;
|
|
||||||
use crate::prudp::socket::EncryptionPair;
|
use crate::prudp::socket::EncryptionPair;
|
||||||
use crate::rmc::structures::RmcSerialize;
|
use crate::rmc::structures::RmcSerialize;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,8 @@ use std::ops::Deref;
|
||||||
use std::pin::Pin;
|
use std::pin::Pin;
|
||||||
use tokio::net::UdpSocket;
|
use tokio::net::UdpSocket;
|
||||||
use std::sync::{Arc};
|
use std::sync::{Arc};
|
||||||
use tokio::sync::{Mutex, MutexGuard, RwLock};
|
use tokio::sync::{Mutex, RwLock};
|
||||||
use log::{error, info, trace, warn};
|
use log::{error, trace, warn};
|
||||||
use rand::random;
|
use rand::random;
|
||||||
use rc4::StreamCipher;
|
use rc4::StreamCipher;
|
||||||
use crate::prudp::packet::{PacketOption, PRUDPPacket, VirtualPort};
|
use crate::prudp::packet::{PacketOption, PRUDPPacket, VirtualPort};
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
use std::io;
|
use std::io;
|
||||||
use std::io::{Write};
|
use std::io::{Write};
|
||||||
use std::mem::transmute;
|
use std::mem::transmute;
|
||||||
use std::time::Duration;
|
|
||||||
use bytemuck::bytes_of;
|
use bytemuck::bytes_of;
|
||||||
use crate::prudp::packet::{PRUDPPacket};
|
use crate::prudp::packet::{PRUDPPacket};
|
||||||
use crate::prudp::packet::flags::{NEED_ACK, RELIABLE};
|
use crate::prudp::packet::flags::{NEED_ACK, RELIABLE};
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
use std::io::{Read, Write};
|
use std::io::{Read, Write};
|
||||||
use crate::endianness::{IS_BIG_ENDIAN, ReadExtensions};
|
|
||||||
use crate::rmc::structures::RmcSerialize;
|
use crate::rmc::structures::RmcSerialize;
|
||||||
|
|
||||||
impl<'a> RmcSerialize for &'a [u8]{
|
impl<'a> RmcSerialize for &'a [u8]{
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ pub struct ConnectionData<'a>{
|
||||||
|
|
||||||
impl<'a> RmcSerialize for ConnectionData<'a>{
|
impl<'a> RmcSerialize for ConnectionData<'a>{
|
||||||
fn serialize(&self, writer: &mut dyn Write) -> crate::rmc::structures::Result<()> {
|
fn serialize(&self, writer: &mut dyn Write) -> crate::rmc::structures::Result<()> {
|
||||||
rmc_struct::write_struct(writer, 1, |mut v|{
|
rmc_struct::write_struct(writer, 1, |v|{
|
||||||
self.station_url.serialize(v).expect("unable to write station url");
|
self.station_url.serialize(v).expect("unable to write station url");
|
||||||
self.special_protocols.serialize(v).expect("unable to write special protocols");
|
self.special_protocols.serialize(v).expect("unable to write special protocols");
|
||||||
self.special_station_url.serialize(v).expect("unable to write special station url");
|
self.special_station_url.serialize(v).expect("unable to write special station url");
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
use macros::RmcSerialize;
|
use macros::RmcSerialize;
|
||||||
use crate::kerberos::KerberosDateTime;
|
use crate::kerberos::KerberosDateTime;
|
||||||
use crate::rmc::structures::RmcSerialize;
|
|
||||||
use crate::rmc::structures::variant::Variant;
|
use crate::rmc::structures::variant::Variant;
|
||||||
|
|
||||||
// rmc structure
|
// rmc structure
|
||||||
|
|
|
||||||
|
|
@ -72,7 +72,7 @@ impl RmcSerialize for bool{
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn deserialize(mut reader: &mut dyn Read) -> crate::rmc::structures::Result<Self> {
|
fn deserialize(reader: &mut dyn Read) -> crate::rmc::structures::Result<Self> {
|
||||||
Ok(u8::deserialize(reader)? != 0)
|
Ok(u8::deserialize(reader)? != 0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ struct StructureHeader{
|
||||||
length: u32
|
length: u32
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn write_struct(mut writer: &mut dyn Write, version: u8, pred: impl FnOnce(&mut Vec<u8>) -> Result<()> ) -> Result<()> {
|
pub fn write_struct(writer: &mut dyn Write, version: u8, pred: impl FnOnce(&mut Vec<u8>) -> Result<()> ) -> Result<()> {
|
||||||
writer.write_all(&[version])?;
|
writer.write_all(&[version])?;
|
||||||
|
|
||||||
let mut scratch_space: Vec<u8> = Vec::new();
|
let mut scratch_space: Vec<u8> = Vec::new();
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ impl RmcSerialize for String{
|
||||||
}
|
}
|
||||||
|
|
||||||
impl RmcSerialize for &str{
|
impl RmcSerialize for &str{
|
||||||
fn deserialize(mut reader: &mut dyn Read) -> Result<Self> {
|
fn deserialize(reader: &mut dyn Read) -> Result<Self> {
|
||||||
panic!("cannot serialize to &str")
|
panic!("cannot serialize to &str")
|
||||||
}
|
}
|
||||||
fn serialize(&self, writer: &mut dyn Write) -> Result<()> {
|
fn serialize(&self, writer: &mut dyn Write) -> Result<()> {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue