nobotgate/nobotgate-access.c
2026-09-08 18:36:12 +02:00

36 lines
722 B
C

#include <libowfat/buffer.h>
#include <libowfat/errmsg.h>
#include <libowfat/str.h>
#include <unistd.h>
#define dieusage() die(100, argv0, " PROG ARGS");
static void consume_headers(void) {
char buf[2048];
int r;
for (;;) {
r=buffer_getline(buffer_0, buf, sizeof buf);
if (r==0) die(100,"EOF before header end");
if (buf[0]=='\r')
break;
}
}
int main(int argc, char **argv)
{
char *header;
(void)argc;
errmsg_iam(*argv);
if (argc<2) dieusage();
consume_headers();
header = "HTTP/1.0 200 OK\r\n"
"Connection: close\r\n"
"\r\n";
if (write(1, header, str_len(header)) < 0)
diesys(111, "write to stdout");
execvp(argv[1], argv+1);
diesys(111, "exec ", argv[1]);
}