- let `HuskConfig::load` return a `Result` instead of an `Option`. - added comments
34 lines
728 B
Rust
34 lines
728 B
Rust
//
|
|
// husk-milter
|
|
//
|
|
// introducers
|
|
//
|
|
|
|
use sequoia_wot as wot;
|
|
use wot::{CertSynopsis, Certification};
|
|
use sequoia_openpgp::{policy::StandardPolicy, Cert, KeyID};
|
|
|
|
#[derive(Debug, Clone)]
|
|
pub struct Introducer {
|
|
pub cert: CertSynopsis,
|
|
pub certification: Certification,
|
|
}
|
|
|
|
impl Introducer {
|
|
|
|
pub fn can_introduce(&self, email: &str) -> bool {
|
|
if let Some(regexset) = self.certification.regular_expressions() {
|
|
if regexset.matches_everything() {
|
|
// return false, because unlimited certifications are
|
|
// ignored.
|
|
false
|
|
} else {
|
|
regexset.is_match(email)
|
|
}
|
|
} else {
|
|
false
|
|
}
|
|
}
|
|
}
|
|
|