From 15cff042e2277c276f7f22abffe5c5c42abccba2 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Sun, 6 Apr 2025 21:06:21 +0100 Subject: [PATCH] Don't handle quote requests too frequently --- acceptreject.py | 9 ++++++++- inbox.py | 6 +++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/acceptreject.py b/acceptreject.py index 48efbb747..c8b8d41af 100644 --- a/acceptreject.py +++ b/acceptreject.py @@ -10,6 +10,7 @@ __status__ = "Production" __module_group__ = "ActivityPub" import os +import time from posts import send_signed_json from flags import has_group_type from flags import url_permitted @@ -429,11 +430,17 @@ def receive_quote_request(message_json: {}, federation_list: [], extra_headers: {}, sites_unavailable: {}, system_language: str, - mitm_servers: []) -> bool: + mitm_servers: [], + last_quote_request) -> bool: """Receives a QuoteRequest within the POST section of HTTPServer """ if message_json['type'] != 'QuoteRequest': return False + curr_time = int(time.time()) + seconds_since_last_quote_request = curr_time - last_quote_request + if seconds_since_last_quote_request < 30: + # don't handle quote requests too often + return True _reject_quote_request(message_json, domain_full, federation_list, debug, session, session_onion, session_i2p, base_dir, diff --git a/inbox.py b/inbox.py index ed8029785..86a3ad213 100644 --- a/inbox.py +++ b/inbox.py @@ -3253,6 +3253,8 @@ def run_inbox_queue(server, fitness_performance(inbox_start_time, server.fitness, 'INBOX', 'while_loop_start', debug) inbox_start_time = time.time() + # the last time that a quote request was last received + last_quote_request = 0 while True: time.sleep(1) inbox_start_time = time.time() @@ -3654,7 +3656,9 @@ def run_inbox_queue(server, i2p_domain, {}, server.sites_unavailable, system_language, - server.mitm_servers): + server.mitm_servers, + last_quote_request): + last_quote_request = int(time.time()) print('Queue: QuoteRequest received from ' + key_id) if os.path.isfile(queue_filename): try: