I am currently developing a program that uses the Google API’s. I am instantiating everything like that:
let authenticator = Authenticator::new( &self.secret, DefaultAuthenticatorDelegate, hyper::Client::with_connector(hyper::net::HttpsConnector::new( hyper_rustls::TlsClient::new(), )), DiskTokenStorage::new(&self.token_file).unwrap(), Some(FlowType::InstalledInteractive), ); drive3::Drive::new( hyper::Client::with_connector(hyper::net::HttpsConnector::new( hyper_rustls::TlsClient::new(), )), authenticator, )
and everything works fine.
But as I got the rustls library right it is a replacement for OpenSSL completely developed in rust, isn’t it?
So why do I need to bake OpenSSL in my binary? Now I have the conflict that some other guys cannot use my program, because I have OpenSSL 1.1 and they have 1.0 so there is a version incompatibility.
All dependencies that I use are:
clap = "2.26.0" log = "0.3.8" env_logger = "0.4.3" yup-oauth2 = "^ 1.0" google-drive3 = "^ 1.0" hyper = "^ 0.10" hyper-rustls = "0.6.1" serde = "1.0.11" serde_json = "1.0.2" serde_derive = "1.0.11"
Maybe someone could give me a hint how to avoid the OpenSSL dependency or how I can build the binary for OpenSSL 1.0 on my computer that has OpenSSL 1.1 installed?