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


Reply via email to