mod crypto;
mod packet;
mod end_point;
+mod oracle_machine;
const PORT: u16 = 4221;
fn print_usage() {
- println!("{} <genkey> | <tests> | ...", os::args()[0]);
+ println!(
+ r"{} genkey | tests | oracle-weak | oracle-fixed
+ genkey: Generate a 256 bits key
+ tests: launch some tests between a client and a weak server
+ oracle-weak: launch a padding oracle attack against a weak server
+ oracle-fixed: launch a padding oracle attack against a fixed server",
+ os::args()[0]
+ );
}
fn main() {
Err(e) => println!("Unable to generate a key. Error: {}", e)
}
} else {
- println!("Starting server..., Press any key to quit");
+ println!("Starting server...");
match Server::new("::1", PORT) {
Ok(mut server) => {
println!("Server started");
- Client::start_tests("::1", PORT);
+
+ if args.len() > 1 && args[1].as_slice() == "tests" {
+ Client::start_tests("::1", PORT);
+ }
+
+ println!("Press any key to quit");
io::stdin().read_line().ok().expect("Failed to read line");
+
server.close().ok().expect("Failed to close the server");
},
Err(e) =>