diff options
Diffstat (limited to 'crates/jmap/src/api/management')
-rw-r--r-- | crates/jmap/src/api/management/dkim.rs | 30 | ||||
-rw-r--r-- | crates/jmap/src/api/management/domain.rs | 9 |
2 files changed, 17 insertions, 22 deletions
diff --git a/crates/jmap/src/api/management/dkim.rs b/crates/jmap/src/api/management/dkim.rs index 09c37c13..860aded5 100644 --- a/crates/jmap/src/api/management/dkim.rs +++ b/crates/jmap/src/api/management/dkim.rs @@ -82,13 +82,10 @@ impl JMAP { _ => return Err(trc::ResourceEvent::NotFound.into_err()), }; - match obtain_dkim_public_key(algo, &pk) { - Ok(data) => Ok(JsonResponse::new(json!({ - "data": data, - })) - .into_http_response()), - Err(details) => Err(manage::error(details, None::<u32>)), - } + Ok(JsonResponse::new(json!({ + "data": obtain_dkim_public_key(algo, &pk)?, + })) + .into_http_response()) } async fn handle_create_signature(&self, body: Option<Vec<u8>>) -> trc::Result<HttpResponse> { @@ -215,7 +212,7 @@ impl JMAP { } } -pub fn obtain_dkim_public_key(algo: Algorithm, pk: &str) -> Result<String, &'static str> { +pub fn obtain_dkim_public_key(algo: Algorithm, pk: &str) -> trc::Result<String> { match simple_pem_parse(pk) { Some(der) => match algo { Algorithm::Rsa => match RsaKey::<Sha256>::from_der(&der).and_then(|key| { @@ -226,11 +223,10 @@ pub fn obtain_dkim_public_key(algo: Algorithm, pk: &str) -> Result<String, &'sta String::from_utf8(base64_encode(pk.as_bytes()).unwrap_or_default()) .unwrap_or_default(), ), - Err(err) => { - tracing::debug!("Failed to read RSA DER: {err}"); - - Err("Failed to read RSA DER") - } + Err(err) => Err(manage::error( + "Failed to read RSA DER", + err.to_string().into(), + )), }, Algorithm::Ed25519 => { match Ed25519Key::from_pkcs8_maybe_unchecked_der(&der) @@ -240,15 +236,11 @@ pub fn obtain_dkim_public_key(algo: Algorithm, pk: &str) -> Result<String, &'sta base64_encode(&pk.public_key()).unwrap_or_default(), ) .unwrap_or_default()), - Err(err) => { - tracing::debug!("Failed to read ED25519 DER: {err}"); - - Err("Failed to read ED25519 DER") - } + Err(err) => manage::error(details, err.to_string().into()), } } }, - None => Err("Failed to decode private key"), + None => Err(manage::error("Failed to decode private key", None::<u32>)), } } diff --git a/crates/jmap/src/api/management/domain.rs b/crates/jmap/src/api/management/domain.rs index 1ab46d69..e3890df5 100644 --- a/crates/jmap/src/api/management/domain.rs +++ b/crates/jmap/src/api/management/domain.rs @@ -4,7 +4,7 @@ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL */ -use directory::backend::internal::manage::ManageDirectory; +use directory::backend::internal::manage::{self, ManageDirectory}; use hyper::Method; use serde::{Deserialize, Serialize}; @@ -185,7 +185,7 @@ impl JMAP { }); } Err(err) => { - tracing::debug!("Failed to obtain DKIM public key: {}", err); + trc::error!(err); } } } @@ -303,7 +303,10 @@ impl JMAP { let parsed_cert = match parse_x509_certificate(cert) { Ok((_, parsed_cert)) => parsed_cert, Err(err) => { - tracing::debug!("Failed to parse certificate: {}", err); + trc::error!(manage::error( + "Failed to parse certificate", + err.to_string().into() + )); continue; } }; |