slim_config/tls/
errors.rs1use rustls::server::VerifierBuilderError;
5use thiserror::Error;
6
7#[cfg(not(target_family = "windows"))]
8use crate::auth::spire;
9
10#[derive(Error, Debug)]
12pub enum ConfigError {
13 #[error("invalid tls version: {0}")]
16 InvalidTlsVersion(String),
17 #[error("invalid pem format")]
19 InvalidPem(#[from] rustls_pki_types::pem::Error),
20 #[error("error reading cert/key from file: {0}")]
22 InvalidFile(String),
23 #[error("file I/O error")]
25 FileIo(#[from] std::io::Error),
26 #[error("error in spire configuration: {details}, config={config:?}")]
28 #[cfg(not(target_family = "windows"))]
29 InvalidSpireConfig {
30 details: Box<String>,
31 config: Box<spire::SpireConfig>,
32 },
33 #[error("auth error")]
34 AuthError(#[from] slim_auth::errors::AuthError),
35
36 #[error("auth config error")]
37 ConfigAuthError(#[from] crate::auth::ConfigAuthError),
38
39 #[error("rustls error")]
41 Rustls(#[from] rustls::Error),
42 #[error("config builder error: {0}")]
44 ConfigBuilder(String),
45 #[error("missing server cert or key")]
47 MissingServerCertAndKey,
48 #[error("verifier builder error")]
50 VerifierBuilder(#[from] VerifierBuilderError),
51 #[error("unknown error")]
53 Unknown,
54
55 #[error("spire error: {0}")]
57 #[cfg(not(target_family = "windows"))]
58 Spire(String),
59}