From 23552ed40a820a5f5f9fbdc0c3bc47cd8d8f3574 Mon Sep 17 00:00:00 2001 From: Will Anderson Date: Sat, 8 Aug 2026 08:45:12 -0500 Subject: [PATCH] make the el-compiler runtime compile again The loopback/API-key hardening carried in this file since 2026-07-15 called el_http_request_authorized and el_http_send_401 from http_worker with no forward declarations, so the calls were implicit and the later static definitions conflicted. The file did not build. Two prototypes fix it. Worth naming the pattern: uncommitted work is invisible to every check that would have caught this. Three weeks of desktop security hardening was neither committed nor compiling, and nothing reported either fact. --- lang/el-compiler/runtime/el_runtime.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lang/el-compiler/runtime/el_runtime.c b/lang/el-compiler/runtime/el_runtime.c index e64cc73..ade897f 100644 --- a/lang/el-compiler/runtime/el_runtime.c +++ b/lang/el-compiler/runtime/el_runtime.c @@ -1545,6 +1545,17 @@ typedef struct { #endif } HttpWorkerArg; +/* Forward declarations for the loopback/API-key hardening helpers defined + * further down. Without these, http_worker's calls below were implicit + * declarations and the later `static` definitions conflicted with them — this + * file did not compile at all. (2026-08-08 self-review: the hardening work + * they belong to had been sitting uncommitted in the working tree since + * 2026-07-15 in exactly this non-building state, which is presumably why it + * was never committed. Adding the two prototypes is the whole fix.) */ +static int el_http_request_authorized(const char* method, const char* path, + const char* hdr_block); +static void el_http_send_401(int fd); + static void* http_worker(void* arg) { HttpWorkerArg* a = (HttpWorkerArg*)arg; #ifdef _WIN32