Don't handle quote requests too frequently

main
Bob Mottram 2025-04-06 21:06:21 +01:00
parent 61fa517e67
commit 15cff042e2
2 changed files with 13 additions and 2 deletions

View File

@ -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,

View File

@ -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: