Code1 now only submits within the correct time window

This commit is contained in:
2026-10-13 22:59:05 -05:00
parent 8775601f49
commit 1ec94767f0
3 changed files with 39 additions and 4 deletions
+27 -1
View File
@@ -1,9 +1,13 @@
use axum::{extract::ConnectInfo, http::StatusCode, Json};
use chrono::Timelike;
use serde_json::Value;
use std::net::SocketAddr;
pub const ID: &str = "code1";
const TARGET_DELAY_MS: i64 = 6430;
const MAX_BUZZ_DELTA_MS: i64 = 500;
const ACCEPTANCE_START_SECONDS: u32 = 11 * 60 * 60;
const ACCEPTANCE_END_SECONDS: u32 = 13 * 60 * 60 + 30 * 60;
const SELF_NOTIFICATION: &str = "Code 1 has been submitted while the server is live.";
const CHALLENGE_1_FIRST: &str = "SECDED-13\nPARITY MSB...LSB";
const CHALLENGE_1_SECOND: &str = "0x144A
@@ -77,10 +81,32 @@ pub async fn buzz_event_handler(
));
}
let chicago_now = chrono::Utc::now().with_timezone(&chrono_tz::America::Chicago);
let seconds_since_midnight = chicago_now.num_seconds_from_midnight();
let after_start = seconds_since_midnight >= ACCEPTANCE_START_SECONDS;
let before_or_at_end = seconds_since_midnight < ACCEPTANCE_END_SECONDS
|| (seconds_since_midnight == ACCEPTANCE_END_SECONDS && chicago_now.nanosecond() == 0);
if !after_start || !before_or_at_end {
leptos::logging::log!(
"Code 1 buzz rejected outside acceptance window: local_time={}, source={}",
chicago_now.format("%Y-%m-%d %H:%M:%S %Z"),
address.ip()
);
return Ok(StatusCode::OK);
}
let delta_ms = delay_ms - TARGET_DELAY_MS;
if delta_ms.abs() > MAX_BUZZ_DELTA_MS {
leptos::logging::log!(
"Code 1 buzz rejected: delay_ms={delay_ms}, delta_ms={delta_ms}, source={}",
address.ip()
);
return Ok(StatusCode::OK);
}
let live = crate::manage::server_live_state();
crate::codes::history::record_successful_submission(address.ip(), live, ID)
.map_err(|error| (StatusCode::INTERNAL_SERVER_ERROR, error.to_string()))?;
let delta_ms = delay_ms - TARGET_DELAY_MS;
on_submit(live, delta_ms).await.map_err(|error| {
leptos::logging::log!("Code 1 buzz event failed: {error}");
(