()
| 14 | } |
| 15 | |
| 16 | fn main() { |
| 17 | let mut config = rustls::ServerConfig::new(rustls::NoClientAuth::new()); |
| 18 | let certs = open_cert_file("../../certchain.pem", rustls::internal::pemfile::certs); |
| 19 | let key = open_cert_file( |
| 20 | "../../private.key", |
| 21 | rustls::internal::pemfile::pkcs8_private_keys, |
| 22 | ) |
| 23 | .pop() |
| 24 | .unwrap(); |
| 25 | let listener = TcpListener::bind("127.0.0.1:12321").unwrap(); |
| 26 | config.set_single_cert(certs, key).unwrap(); |
| 27 | println!("server is running on 127.0.0.1:12321 ..."); |
| 28 | |
| 29 | for socket in listener.incoming() { |
| 30 | let socket = socket.unwrap(); |
| 31 | let config = config.clone(); |
| 32 | thread::spawn(move || handle_client(socket, Arc::new(config))); |
| 33 | } |
| 34 | } |
| 35 | |
| 36 | fn handle_client(mut socket: TcpStream, config: Arc<rustls::ServerConfig>) { |
| 37 | let mut sess = rustls::ServerSession::new(&config); |
nothing calls this directly
no test coverage detected