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:
17
zeroidc/vendor/native-tls/examples/google-connect.rs
vendored
Normal file
17
zeroidc/vendor/native-tls/examples/google-connect.rs
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
extern crate native_tls;
|
||||
|
||||
use native_tls::TlsConnector;
|
||||
use std::io::{Read, Write};
|
||||
use std::net::TcpStream;
|
||||
|
||||
fn main() {
|
||||
let connector = TlsConnector::new().unwrap();
|
||||
|
||||
let stream = TcpStream::connect("google.com:443").unwrap();
|
||||
let mut stream = connector.connect("google.com", stream).unwrap();
|
||||
|
||||
stream.write_all(b"GET / HTTP/1.0\r\n\r\n").unwrap();
|
||||
let mut res = vec![];
|
||||
stream.read_to_end(&mut res).unwrap();
|
||||
println!("{}", String::from_utf8_lossy(&res));
|
||||
}
|
||||
45
zeroidc/vendor/native-tls/examples/simple-server-pkcs8.rs
vendored
Normal file
45
zeroidc/vendor/native-tls/examples/simple-server-pkcs8.rs
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
extern crate native_tls;
|
||||
|
||||
use native_tls::{Identity, TlsAcceptor, TlsStream};
|
||||
use std::fs::File;
|
||||
use std::io::{Read, Write};
|
||||
use std::net::{TcpListener, TcpStream};
|
||||
use std::sync::Arc;
|
||||
use std::thread;
|
||||
|
||||
fn main() {
|
||||
let mut cert_file = File::open("test/cert.pem").unwrap();
|
||||
let mut certs = vec![];
|
||||
cert_file.read_to_end(&mut certs).unwrap();
|
||||
let mut key_file = File::open("test/key.pem").unwrap();
|
||||
let mut key = vec![];
|
||||
key_file.read_to_end(&mut key).unwrap();
|
||||
let pkcs8 = Identity::from_pkcs8(&certs, &key).unwrap();
|
||||
|
||||
let acceptor = TlsAcceptor::new(pkcs8).unwrap();
|
||||
let acceptor = Arc::new(acceptor);
|
||||
|
||||
let listener = TcpListener::bind("0.0.0.0:8443").unwrap();
|
||||
|
||||
fn handle_client(mut stream: TlsStream<TcpStream>) {
|
||||
let mut buf = [0; 1024];
|
||||
let read = stream.read(&mut buf).unwrap();
|
||||
let received = std::str::from_utf8(&buf[0..read]).unwrap();
|
||||
stream
|
||||
.write_all(format!("received '{}'", received).as_bytes())
|
||||
.unwrap();
|
||||
}
|
||||
|
||||
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 */ }
|
||||
}
|
||||
}
|
||||
}
|
||||
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