diff --git a/src/middleware/verifier.rs b/src/middleware/verifier.rs index 66df9b6..8234787 100644 --- a/src/middleware/verifier.rs +++ b/src/middleware/verifier.rs @@ -26,6 +26,9 @@ impl MyVerify { ) -> Result { let public_key_id = iri!(key_id); + // receiving an activity from a domain indicates it is probably online + self.0.reset_breaker(&public_key_id); + let actor_id = if let Some(mut actor_id) = self .2 .db diff --git a/src/requests.rs b/src/requests.rs index 5330d77..3677399 100644 --- a/src/requests.rs +++ b/src/requests.rs @@ -187,6 +187,10 @@ impl Requests { } } + pub(crate) fn reset_breaker(&self, iri: &IriString) { + self.breakers.succeed(iri); + } + fn count_err(&self) { let count = self.consecutive_errors.fetch_add(1, Ordering::Relaxed); if count + 1 >= self.error_limit {