Some cleanups

- Remove unused errors.
- Add doc comments.
This commit is contained in:
Malte Meiboom
2026-05-06 16:30:42 +02:00
parent c0fe0e91ea
commit 21b45d1702
6 changed files with 14 additions and 17 deletions
+2 -2
View File
@@ -14,8 +14,8 @@ pub mod local;
pub enum CommandError {
#[error("Certificate not found: {0}")]
CertNotFound(Fingerprint),
#[error("List of domains is empty")]
DomainListEmpty,
#[error("Certificate not usable: {0}")]
CertNotUsable(Fingerprint),
}
pub async fn dispatch(cli: CliArgs, config: HuskConfigContainer) -> Result<()> {
+3 -1
View File
@@ -1,3 +1,5 @@
//! introducer add subcommand
use anyhow::Result;
use sequoia_cert_store::Store;
use sequoia_openpgp::cert::ValidCert;
@@ -32,7 +34,7 @@ pub async fn dispatch(cmd: IntroducerAddCommand, config: HuskConfigContainer) ->
if let Some(cert) = certs.first() {
Introducer::create(&context, cert, cmd.domains)?;
} else {
return Err(CommandError::CertNotFound(fpr).into());
return Err(CommandError::CertNotUsable(fpr).into());
}
Ok(())
+3 -1
View File
@@ -1,3 +1,5 @@
//! introducer remove subcommand
use anyhow::Result;
use sequoia_openpgp::{Fingerprint, KeyHandle};
@@ -35,7 +37,7 @@ pub async fn dispatch(cmd: IntroducerRemoveCommand, config: HuskConfigContainer)
if let Some(cert) = certs.first() {
Introducer::remove(&context, cert, cmd.demote)?;
} else {
return Err(CommandError::CertNotFound(fpr).into());
return Err(CommandError::CertNotUsable(fpr).into());
}
+1 -3
View File
@@ -1,6 +1,4 @@
//
// Husk milter
//
//! Husk milter
use std::process;
use std::sync::{Arc, Mutex};
+1 -1
View File
@@ -1,4 +1,4 @@
//! Error typ
//! Husk Error type
use thiserror::Error;
+4 -9
View File
@@ -6,7 +6,6 @@ use sequoia_wot as wot;
use wot::{CertSynopsis, Certification};
use sequoia_openpgp::{cert::ValidCert, policy::StandardPolicy};
use sequoia_openpgp::Cert;
use sequoia_openpgp::Fingerprint;
use crate::types::husk_context::HuskContext;
use crate::common::crypto;
@@ -15,14 +14,6 @@ use crate::common::crypto;
pub enum IntroducerError {
#[error("Unsuitable certificate")]
UnsuitableCertificate,
#[error("Unlimited introducer")]
UnlimitedIntroducer,
#[error("Invalid domain name: '{0}'")]
InvalidDomainName(String),
#[error("Certificate {0} contains no usable user id")]
NoUserIDs(Fingerprint),
#[error("Local trust root is damanged")]
RootDamaged,
}
#[derive(Debug, Clone)]
@@ -33,6 +24,10 @@ pub struct Introducer {
impl Introducer {
/// Can this introducer potentially introduce `email`?
///
/// This check matches the email with the list of domains of the
/// introducer.
pub fn can_introduce(&self, email: &str) -> bool {
if let Some(regexset) = self.certification.regular_expressions() {
if regexset.matches_everything() {