+++ /dev/null
-#![feature(macro_rules)]
-
-extern crate openssl;
-
-use std::io;
-use std::os;
-
-mod crypto;
-mod packet;
-mod client;
-mod server;
-
-/*
-TODO
- * Comment stocker les clefs? à quels critères doivent elle répondre?
- *
-*/
-
-const PORT: u16 = 4221;
-
-fn print_usage() {
- println!("{} <genkey> | <tests> | ...", os::args()[0]);
-}
-
-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" {
- match crypto::generate_key(256 / 8) {
- 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) {
- 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");
- server.close().ok().expect("Failed to close the server");
- },
- Err(e) => println!("Unable to create a new server. Error: {}", e)
- }
- }
-}