Add X-Firefox-AI support. - bitreich-httpd - Bitreich HTTPD service | |
git clone git://bitreich.org/bitreich-httpd git://enlrupgkhuxnvlhsf6lc3fziv5h2h… | |
Log | |
Files | |
Refs | |
Tags | |
README | |
LICENSE | |
--- | |
commit 0e6741332164166436071bd1476393dbdad4d75a | |
parent 59558e41c3f5da41a1c855998af2a91c8a202004 | |
Author: Christoph Lohmann <[email protected]> | |
Date: Wed, 28 May 2025 20:34:30 +0200 | |
Add X-Firefox-AI support. | |
Diffstat: | |
M bitreich-httpd.c | 11 +++++++++-- | |
1 file changed, 9 insertions(+), 2 deletions(-) | |
--- | |
diff --git a/bitreich-httpd.c b/bitreich-httpd.c | |
@@ -187,7 +187,7 @@ main(int argc, char *argv[]) | |
char *wwwbase, *wwwindex, *request, *ctype, *path, *le_file, | |
*le_base, clienth[NI_MAXHOST], clientp[NI_MAXSERV], *zuccbase, | |
*requested, *header, *headerval, *hosthdr; | |
- int rlen, i, user_agent_script_pid; | |
+ int rlen, i, user_agent_script_pid, isxfirefoxai; | |
struct sockaddr_storage clt; | |
socklen_t cltlen = sizeof(clt); | |
time_t tim; | |
@@ -221,6 +221,7 @@ main(int argc, char *argv[]) | |
/* Header parsing. */ | |
/* At max read 16 headers. Do not allow DDoS. */ | |
+ isxfirefoxai = 0; | |
for (i = 0; i < 16; i++) { | |
header = read_line(0, &rlen, 512); | |
if (header == NULL || rlen == 0) | |
@@ -261,13 +262,19 @@ main(int argc, char *argv[]) | |
memset(hosthdr, 0, rlen+1); | |
strncpy(hosthdr, headerval, rlen); | |
} | |
+ if (!strcasecmp(header, "x-firefox-ai")) { | |
+ isxfirefoxai = 1; | |
+ ctype = "video/webm"; | |
+ asprintf(&path, "%s/s/aiaiaiai.webm", wwwbase); | |
+ } | |
free(header); | |
} | |
if (strncmp(request, "GET ", 4)) | |
return 1; | |
- if (strstr(request, "s/bitreich.sh")) { | |
+ if (isxfirefoxai) { | |
+ } else if (strstr(request, "s/bitreich.sh")) { | |
asprintf(&path, "%s/s/bitreich.sh", wwwbase); | |
ctype = "text/plain"; | |
} else if (strstr(request, "favicon.gif")) { |