RPM build fix (reverted CI changes which will need to be un-reverted or made conditional) and vendor Rust dependencies to make builds much faster in any CI system.
This commit is contained in:
37
zeroidc/vendor/native-tls/examples/simple-server.rs
vendored
Normal file
37
zeroidc/vendor/native-tls/examples/simple-server.rs
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
extern crate native_tls;
|
||||
|
||||
use native_tls::{Identity, TlsAcceptor, TlsStream};
|
||||
use std::fs::File;
|
||||
use std::io::Read;
|
||||
use std::net::{TcpListener, TcpStream};
|
||||
use std::sync::Arc;
|
||||
use std::thread;
|
||||
|
||||
fn main() {
|
||||
let mut file = File::open("identity.pfx").unwrap();
|
||||
let mut pkcs12 = vec![];
|
||||
file.read_to_end(&mut pkcs12).unwrap();
|
||||
let pkcs12 = Identity::from_pkcs12(&pkcs12, "hunter2").unwrap();
|
||||
|
||||
let acceptor = TlsAcceptor::new(pkcs12).unwrap();
|
||||
let acceptor = Arc::new(acceptor);
|
||||
|
||||
let listener = TcpListener::bind("0.0.0.0:8443").unwrap();
|
||||
|
||||
fn handle_client(_stream: TlsStream<TcpStream>) {
|
||||
// ...
|
||||
}
|
||||
|
||||
for stream in listener.incoming() {
|
||||
match stream {
|
||||
Ok(stream) => {
|
||||
let acceptor = acceptor.clone();
|
||||
thread::spawn(move || {
|
||||
let stream = acceptor.accept(stream).unwrap();
|
||||
handle_client(stream);
|
||||
});
|
||||
}
|
||||
Err(_e) => { /* connection failed */ }
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user