On 07/08/18 08:09, Florian Obser wrote:
On Sun, Jul 08, 2018 at 07:53:41AM -0500, Edgar Pettijohn III wrote:
I am playing around with cgi written in c. I am getting what seems like a
weird error though. I'm starting off with a very basic program:
#include <stdio.h>
int
main(void)
{
fprintf(stdout,
"<html>\n"
"<head>\n"
"<title>test</title>\n"
"</head>\n"
"<body>\n"
);
you need to output a header, something like
printf("Status: 200 OK\r\nContent-Type: text/html\r\n\r\n");
still the same results
you might also want to consider using kcgi (in ports)
https://kristaps.bsd.lv/kcgi/
I'll look into it.
thanks
fprintf(stdout, "it works\n");
fprintf(
stdout,
"</body>\n"
"</html>\n"
);
return (0);
}
I set up bgplg to make sure that httpd and slowcgi are working correctly.
Here is the only debug info I could find.
doas httpd -dvv
startup
server_privinit: adding server default
socket_rlimit: max open files 1024
socket_rlimit: max open files 1024
socket_rlimit: max open files 1024
server_launch: configuring server default
server_launch: running server default
server_launch: configuring server default
server_launch: configuring server default
server_launch: running server default
server_launch: running server default
default 127.0.0.1 - - [08/Jul/2018:07:45:51 -0500] "GET /cgi-bin/bgplg
HTTP/1.1" 200 0
default 127.0.0.1 - - [08/Jul/2018:07:45:55 -0500] "GET /cgi-bin/test
HTTP/1.1" 500 0
server default, client 1 (1 active), 127.0.0.1:46773 -> 127.0.0.1, empty
stdout (500 Internal Server Error)
I'm not sure what `empty stdout' means.
Thanks,
Edgar