Compare commits
	
		
			2 Commits
		
	
	
		
			8f2c66c195
			...
			23dea395d3
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 23dea395d3 | |||
| 6ede42a096 | 
| @ -21,7 +21,8 @@ use crate::types::Network; | ||||
| struct Cli { | ||||
|     #[arg(short = 'r', long = "registrar")] | ||||
|     #[arg(help = "registrar ip address or hostname")] | ||||
|     registrar: String, | ||||
|     #[arg(required_unless_present = "version")] | ||||
|     registrar: Option<String>, | ||||
| 
 | ||||
|     #[arg(short = 'p', long = "registrar-port")] | ||||
|     #[arg(help = format!("optional Port number for the registrar service (1-65535) Default: {}", SERVER_PORT))] | ||||
| @ -29,7 +30,8 @@ struct Cli { | ||||
| 
 | ||||
|     #[arg(short = 'n', long = "network-id")] | ||||
|     #[arg(help = "your virtual network id that allows other people to connect to you")] | ||||
|     network_id: String, | ||||
|     #[arg(required_unless_present = "version")] | ||||
|     network_id: Option<String>, | ||||
| 
 | ||||
|     #[arg(short = 'P', long = "password")] | ||||
|     #[arg(
 | ||||
| @ -52,9 +54,19 @@ struct Cli { | ||||
|     symmetric_nat_bypass_mode: bool, | ||||
| } | ||||
| 
 | ||||
| fn print_version() { | ||||
|     println!("Pea 2 Pea {}", VERSION); | ||||
| } | ||||
| 
 | ||||
| fn main() -> std::io::Result<()> { | ||||
|     let cli = <Cli as clap::Parser>::parse(); | ||||
|     if cli.network_id.len() > 0xff { | ||||
|     if cli.version { | ||||
|         print_version(); | ||||
|         exit(0); | ||||
|     } | ||||
|     let network_id = cli.network_id.unwrap(); | ||||
|     let registrar = cli.registrar.unwrap(); | ||||
|     if network_id.len() > 0xff { | ||||
|         eprintln!("network id cannot have more then 255 charactes"); | ||||
|         exit(7); // posix for E2BIG
 | ||||
|     } | ||||
| @ -81,11 +93,11 @@ fn main() -> std::io::Result<()> { | ||||
|         })(); | ||||
| 
 | ||||
|         #[allow(non_snake_case)] // i think this is valid snake case but rustc doesnt think so
 | ||||
|         let server_SocketAddr: core::net::SocketAddr = format!("{}:{}", cli.registrar, server_port) | ||||
|         let server_SocketAddr: core::net::SocketAddr = format!("{}:{}", registrar, server_port) | ||||
|             .parse() | ||||
|             .expect(&format!( | ||||
|                 "{}:{} is invalid sock addr", | ||||
|                 cli.registrar, server_port | ||||
|                 registrar, server_port | ||||
|             )); | ||||
| 
 | ||||
|         // query here
 | ||||
| @ -134,7 +146,7 @@ fn main() -> std::io::Result<()> { | ||||
|                 &mut buf, | ||||
|                 &server_SocketAddr, | ||||
|                 &socket, | ||||
|                 &cli.network_id, | ||||
|                 &network_id, | ||||
|                 &cli.password, | ||||
|             ) { | ||||
|                 Ok(n) => { | ||||
| @ -161,7 +173,7 @@ fn main() -> std::io::Result<()> { | ||||
|                             None => false, | ||||
|                         }, | ||||
|                         encryption_key, | ||||
|                         cli.network_id, | ||||
|                         network_id, | ||||
|                         salt, | ||||
|                         Vec::with_capacity(1), | ||||
|                     ); | ||||
|  | ||||
| @ -4,7 +4,7 @@ pub const SERVER_PORT: u16 = 3543; | ||||
| pub const UDP_BUFFER_SIZE: usize = 65527; | ||||
| pub const IP_BUFFER_SIZE: usize = 65535; | ||||
| pub const DEFAULT_TIMEOUT: u64 = 30; | ||||
| pub const VERSION: &str = "v1.0"; | ||||
| pub const VERSION: &str = "v1.1"; | ||||
| pub const BLOCK_SIZE: usize = 16; | ||||
| pub const STANDARD_RETRY_MAX: usize = 10; | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user