Clarify Service Contracts And Security Invariants

This commit is contained in:
2026-09-21 13:39:30 +02:00
parent 6406142b21
commit 655f26a611
58 changed files with 272 additions and 25 deletions
+8 -2
View File
@@ -3,8 +3,14 @@
#include <stdint.h>
#include "esp_http_server.h"
/* One session-bound pending/result slot. Dispatcher execution only; completed
* results are replaceable, not durable history or an idempotent retry API. */
/* HTTPD authenticates/admin-checks and copies input; only an ID is queued to
* the existing dispatcher. HTTP 202 means admission, not mutation success.
* One global pending/result slot; only the original login can read its result
* (logging in again as the same account does not recover it). Completed results
* are replaceable, not durable history or an idempotent retry API.
* Execution rechecks the login and 30-second admission deadline; admitted DB
* work may finish after session loss. Pending create/password input also has
* periodic expiry; executing input is wiped on return, not by that timer. */
esp_err_t web_account_settings_handler(httpd_req_t *request);
void web_account_settings_execute(uint32_t id);
/* POST /api/settings/accounts/keys: admin cookie + Origin/CSRF, JSON exactly