X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/agedu/blobdiff_plain/00c5e40cdda24456519762da186538e34b81968a..1037e6859c407bcdc9352f638567e0b62b27bbfc:/httpd.c diff --git a/httpd.c b/httpd.c index 90d4e42..dd7aa23 100644 --- a/httpd.c +++ b/httpd.c @@ -90,7 +90,7 @@ char *got_data(struct connctx *ctx, char *data, int length, const struct html_config *cfg) { char *line, *p, *q, *r, *z1, *z2, c1, c2; - int auth_provided = 0, auth_correct = 0; + int auth_correct = 0; unsigned long index; char *document, *ret; @@ -235,7 +235,6 @@ char *got_data(struct connctx *ctx, char *data, int length, p = q; } if (p < q) { - auth_provided = 1; while (p < q && isspace((unsigned char)*p)) p++; r = p; @@ -414,7 +413,6 @@ void run_httpd(const void *t, int authmask, const struct httpd_config *dcfg, int fd, ret; int authtype; char *authstring = NULL; - struct fd *f; struct sockaddr_in addr; socklen_t addrlen; struct html_config cfg = *incfg; @@ -571,17 +569,20 @@ void run_httpd(const void *t, int authmask, const struct httpd_config *dcfg, printf("URL: http://%s:%d/\n", inet_ntoa(addr.sin_addr), ntohs(addr.sin_port)); } + fflush(stdout); /* * Now construct an fd structure to hold it. */ - f = new_fdstruct(fd, FD_LISTENER); - - /* - * Read from standard input, and treat EOF as a notification - * to exit. - */ - new_fdstruct(0, FD_CLIENT); + new_fdstruct(fd, FD_LISTENER); + + if (dcfg->closeoneof) { + /* + * Read from standard input, and treat EOF as a notification + * to exit. + */ + new_fdstruct(0, FD_CLIENT); + } /* * Now we're ready to run our main loop. Keep looping round on