From 53020cb3717f4d2e88ce69ecfcb79b573b5cda7d Mon Sep 17 00:00:00 2001 From: Fuwn Date: Wed, 30 Mar 2022 21:31:03 +0000 Subject: fix(router): use different certificate file --- Cargo.toml | 2 +- README.md | 6 +++--- examples/windmark.rs | 2 +- src/lib.rs | 48 ++++++++++++++++++++++++------------------------ 4 files changed, 29 insertions(+), 29 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index ceea1a3..ba7a8a0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,7 +2,7 @@ [package] name = "windmark" -version = "0.1.4" +version = "0.1.5" authors = ["Fuwn "] edition = "2021" description = "An elegant and highly performant async Gemini server framework" diff --git a/README.md b/README.md index b8a777c..c9e953d 100644 --- a/README.md +++ b/README.md @@ -14,11 +14,11 @@ Windmark is an elegant and highly performant, async Gemini server framework. # Cargo.toml [dependencies] -windmark = "0.1.4" +windmark = "0.1.5" tokio = { version = "0.2.4", features = ["full"] } # If you would like to use the built-in logger (recommended) -# windmark = { version = "0.1.4", features = ["logger"] } +# windmark = { version = "0.1.5", features = ["logger"] } ``` ### Implement a Windmark server @@ -32,7 +32,7 @@ use windmark::Response; fn main() -> Result<(), Box> { windmark::Router::new() .set_private_key_file("windmark_private.pem") - .set_certificate_chain_file("windmark_pair.pem") + .set_certificate_chain_file("windmark_public.pem") .mount("/", Box::new(|_| Response::Success("Hello, World!".into()))) .set_error_handler(Box::new(|_| { Response::PermanentFailure("This route does not exist!".into()) diff --git a/examples/windmark.rs b/examples/windmark.rs index 251859f..93eccce 100644 --- a/examples/windmark.rs +++ b/examples/windmark.rs @@ -29,7 +29,7 @@ async fn main() -> Result<(), Box> { windmark::Router::new() .set_private_key_file("windmark_private.pem") - .set_certificate_chain_file("windmark_pair.pem") + .set_certificate_file("windmark_public.pem") .enable_default_logger(true) .set_error_handler(Box::new(move |_| { error_count += 1; diff --git a/src/lib.rs b/src/lib.rs index 23ac249..3069d0b 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -32,11 +32,11 @@ //! # Cargo.toml //! //! [dependencies] -//! windmark = "0.1.4" +//! windmark = "0.1.5" //! tokio = { version = "0.2.4", features = ["full"] } //! //! # If you would like to use the built-in logger (recommended) -//! # windmark = { version = "0.1.4", features = ["logger"] } +//! # windmark = { version = "0.1.5", features = ["logger"] } //! ``` //! //! ### Implement a Windmark server @@ -50,7 +50,7 @@ //! fn main() -> Result<(), Box> { //! windmark::Router::new() //! .set_private_key_file("windmark_private.pem") -//! .set_certificate_chain_file("windmark_pair.pem") +//! .set_certificate_file("windmark_public.pem") //! .mount("/", Box::new(|_| Response::Success("Hello, World!".into()))) //! .set_error_handler(Box::new(|_| { //! Response::PermanentFailure("This route does not exist!".into()) @@ -114,20 +114,20 @@ use crate::{ /// response generation, panics, logging, and more. #[derive(Clone)] pub struct Router { - routes: matchit::Router>>, - error_handler: Arc>, + routes: matchit::Router>>, + error_handler: Arc>, private_key_file_name: String, - certificate_chain_file_name: String, - header: Arc>, - footer: Arc>, - ssl_acceptor: Arc, + ca_file_name: String, + header: Arc>, + footer: Arc>, + ssl_acceptor: Arc, #[cfg(feature = "logger")] - default_logger: bool, - pre_route_callback: Arc>, - post_route_callback: Arc>, - charset: String, - language: String, - port: i32, + default_logger: bool, + pre_route_callback: Arc>, + post_route_callback: Arc>, + charset: String, + language: String, + port: i32, } impl Router { /// Create a new `Router` @@ -165,13 +165,10 @@ impl Router { /// # Examples /// /// ```rust - /// windmark::Router::new().set_certificate_chain_file("windmark_pair.pem"); + /// windmark::Router::new().set_certificate_file("windmark_public.pem"); /// ``` - pub fn set_certificate_chain_file( - &mut self, - certificate_chain_file_name: &str, - ) -> &mut Self { - self.certificate_chain_file_name = certificate_chain_file_name.to_string(); + pub fn set_certificate_file(&mut self, certificate_name: &str) -> &mut Self { + self.ca_file_name = certificate_name.to_string(); self } @@ -436,7 +433,10 @@ impl Router { &self.private_key_file_name, ssl::SslFiletype::PEM, )?; - builder.set_certificate_chain_file(&self.certificate_chain_file_name)?; + builder.set_certificate_file( + &self.ca_file_name, + openssl::ssl::SslFiletype::PEM, + )?; builder.check_private_key()?; self.ssl_acceptor = Arc::new(builder.build()); @@ -459,7 +459,7 @@ impl Router { /// .set_private_key_file("windmark_private.pem", ssl::SslFiletype::PEM) /// .unwrap(); /// builder - /// .set_certificate_chain_file("windmark_pair.pem") + /// .set_certificate_file("windmark_public.pem", openssl::ssl::SslFiletype::PEM) /// .unwrap(); /// builder.check_private_key().unwrap(); /// @@ -648,7 +648,7 @@ impl Default for Router { ) }))), private_key_file_name: "".to_string(), - certificate_chain_file_name: "".to_string(), + ca_file_name: "".to_string(), header: Arc::new(Mutex::new(Box::new(|_| "".to_string()))), footer: Arc::new(Mutex::new(Box::new(|_| "".to_string()))), ssl_acceptor: Arc::new( -- cgit v1.2.3