Compare commits
2 Commits
0.0.7
...
3791a8b04e
| Author | SHA1 | Date | |
|---|---|---|---|
|
3791a8b04e
|
|||
|
9ba7ac5c70
|
2
Cargo.lock
generated
2
Cargo.lock
generated
@ -643,7 +643,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "dockermcmgr"
|
||||
version = "0.0.6"
|
||||
version = "0.0.7"
|
||||
dependencies = [
|
||||
"async-process",
|
||||
"async-std",
|
||||
|
||||
@ -40,7 +40,6 @@ pub async fn subcommand(arguments: &ArgMatches, pool: DbPool) -> Result<(), Stri
|
||||
let prev_env = fs::read_to_string(path.to_string() + "/env").map_err(|e| format!("failed to read previous env file : {}", e))?;
|
||||
|
||||
let new_env = env_settings::update_env(arguments, prev_env);
|
||||
println!("\n\nnew env : {}", new_env);
|
||||
|
||||
|
||||
let mut env_file = fs::OpenOptions::new().write(true).truncate(true).open(path + "/env").map_err(|e| format!("failed to reopen env file : {}" ,e))?;
|
||||
|
||||
@ -70,9 +70,6 @@ impl Client {
|
||||
return Ok(());
|
||||
}
|
||||
|
||||
println!("[{}] adding {} bytes to the buffer",self, data.len());
|
||||
|
||||
|
||||
if self.buffer.len() + data.len() > 65536 {
|
||||
return Err("buffer full".to_string());
|
||||
}
|
||||
@ -92,14 +89,11 @@ impl Client {
|
||||
let expected_len = varint_read(&mut varint_buffer)?;
|
||||
let varint_len = varint_buffer_len - varint_buffer.len();
|
||||
|
||||
println!("current len : {}, expected_len : {}", self.buffer.len() -varint_len, expected_len);
|
||||
|
||||
if self.buffer.len() - varint_len < expected_len as usize {
|
||||
break ;
|
||||
}
|
||||
|
||||
println!("buffer : {:?}", self.buffer);
|
||||
|
||||
if self.buffer[0] == 0 {
|
||||
return Err("invalid packet".to_string());
|
||||
}
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
/* By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2026/05/07 17:23:09 by tomoron #+# #+# */
|
||||
/* Updated: 2026/06/11 17:25:09 by tomoron ### ########.fr */
|
||||
/* Updated: 2026/06/13 17:43:46 by tomoron ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -67,7 +67,6 @@ impl Client {
|
||||
|
||||
|
||||
pub async fn get_server(&self) -> Result<Servers, diesel::result::Error> {
|
||||
println!("get server name from domain : {}", self.handshake.as_ref().unwrap().server_address);
|
||||
if let None = self.handshake {
|
||||
panic!("get server called without a handshake");
|
||||
}
|
||||
@ -75,22 +74,18 @@ impl Client {
|
||||
|
||||
let conn = &mut self.db_pool.get().unwrap();
|
||||
|
||||
let reg = Regex::new(r"^(?:([a-zA-Z-_]*)\.)?mc\.tmoron\.fr").unwrap();
|
||||
let reg = Regex::new(r"^(?:([0-9a-zA-Z\-_]*)\.)?mc\.tmoron\.fr").unwrap();
|
||||
let mut found: Option<String> = None;
|
||||
if let Some(capture) = reg.captures(&self.handshake.as_ref().unwrap().server_address) {
|
||||
println!("capture : {:?}", capture);
|
||||
if let Some(captured_str) = capture.get(1) {
|
||||
println!("found valid capture : {}", captured_str.as_str());
|
||||
found = Some(captured_str.as_str().to_string());
|
||||
}
|
||||
}
|
||||
|
||||
if let Some(name) = found {
|
||||
println!("found server name : {}", name);
|
||||
schema::servers::table.filter(schema::servers::name.eq(name)).select(models::Servers::as_select()).first(conn)
|
||||
} else {
|
||||
schema::servers::table.filter(schema::servers::is_default.eq(true)).select(models::Servers::as_select()).first(conn)
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -10,7 +10,6 @@ use tokio::net::TcpStream;
|
||||
|
||||
impl Client {
|
||||
pub async fn handle_packet(&mut self, mut packet: VecDeque<u8>) -> Result<(), String> {
|
||||
println!("packet len : {}", packet.len());
|
||||
let packet_id = varint_read(&mut packet)?;
|
||||
|
||||
|
||||
@ -94,9 +93,6 @@ impl Client {
|
||||
|
||||
let _ = self.out_stream.as_ref().unwrap().writable().await;
|
||||
let _ = self.out_stream.as_ref().unwrap().try_write(packet.as_slice());
|
||||
println!("[{}] sent handshake to server", self);
|
||||
|
||||
println!("proxy mode started, buffer len : {}", self.buffer.len());
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@ -31,14 +31,12 @@ impl Client {
|
||||
|
||||
response.append(&mut response_json_len);
|
||||
response.append(&mut response_json.as_bytes().into());
|
||||
println!("[{}] sent status response to client", self);
|
||||
|
||||
self.send_packet(0x0, response).await;
|
||||
} else if packet_id == 1 {
|
||||
let mut response = vec![];
|
||||
response.extend(packet.drain(..));
|
||||
self.send_packet(0x1, response).await;
|
||||
println!("[{}] sent ping response to client", self);
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@ -22,6 +22,7 @@ async fn server_init(pool: &DbPool, _docker: &Docker) -> Result<(), String> {
|
||||
.or(status.eq(ServerStatus::Starting))
|
||||
))
|
||||
.set(status.eq(ServerStatus::Stopped)).execute(conn);
|
||||
println!("init done");
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user