X-Git-Url: http://git.euphorik.ch/?p=crypto_lab1.git;a=blobdiff_plain;f=src%2Fmain.rs;h=e9e911a9700950ec07b916afd75381f6766dc5ca;hp=fbffa21d79e9e3c2eebea12faa0554368fb846d7;hb=786dd3ba778ac05917b00e42e8d82929db9fa529;hpb=db8678377c7ea4fa7183a54c1bfe095e051882a8 diff --git a/src/main.rs b/src/main.rs index fbffa21..e9e911a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,20 +1,16 @@ #![feature(macro_rules)] extern crate openssl; +extern crate serialize; use std::io; use std::os; +use end_point::{ Client, Server }; + mod crypto; mod packet; -mod client; -mod server; - -/* -TODO - * Comment stocker les clefs? à quels critères doivent elle répondre? - * -*/ +mod end_point; const PORT: u16 = 4221; @@ -22,9 +18,9 @@ fn print_usage() { println!("{} | | ...", os::args()[0]); } -fn main() { +fn main() { let args = os::args(); - + if args.iter().any(|a| a.as_slice() == "--help" || a.as_slice() == "-h") { print_usage(); } else if args.len() > 1 && args[1].as_slice() == "genkey" { @@ -32,28 +28,18 @@ fn main() { Ok(key) => println!("key: {}", key), Err(e) => println!("Unable to generate a key. Error: {}", e) } - } else { - println!("Starting server.., Press any key to quit"); - - match server::Server::new(PORT) { + } else { + println!("Starting server..., Press any key to quit"); + + match Server::new("::1", PORT) { Ok(mut server) => { println!("Server started"); - - match client::Client::new("127.0.0.1", PORT) { - Ok(mut client) => { - client.start_tests(); - let _ = client.close(); - }, - Err(e) => { - println!("Unable to create a client. Error: {}", e); - return - } - } - - io::stdin().read_line().ok().expect("Failed to read line"); + Client::start_tests("::1", PORT); + io::stdin().read_line().ok().expect("Failed to read line"); server.close().ok().expect("Failed to close the server"); }, - Err(e) => println!("Unable to create a new server. Error: {}", e) + Err(e) => + println!("Unable to create a new server. Error: {}", e) } } }