Commit Briefs

Omar Polo

gotwebd: drop unused `prefixlen' from struct address

ok stsp@


Omar Polo

gotwebd: provide gotweb_render_page() entrypoint for all pages

simplify gotweb_process_request more, handling all the pages inside the big switch. There's only one entrypoint for rendering the templates gotweb_render_page() that takes the page' content as argument. The only real difference is that gotweb_render_index() now skips directory entries which fails to handle. ok tracey@


Omar Polo

gotwebd: handle short reads and timeouts

If a short read happens, or if all the fastcgi record to read don't fit in the buffer, gotwebd fails to continue reading and hits the timeout. If this happens before gotweb_process_request is called, it will crash in gotweb_free_transport since c->t will be NULL. This register the event with EV_PERSIST so fcgi_request is called again when there's more to read and guards gotweb_free_transport. It also makes spaces for the records as soon as they're successfully parsed. With lots of help from stsp ok stsp@


Omar Polo

gotwebd: start using the template system

ok tracey@


Stefan Sperling

make gotwebd cache open repository handles in struct server

ok op@


Stefan Sperling

allow multiple "listen on" statements per server in gotwebd.conf

ok tracey


Stefan Sperling

mark functions internally used by sockets.c as static

ok tracey


Stefan Sperling

fix previous: store port number in host byte order, convert for struct sockaddr

With the previous patch the listen port was correct, but the debug log output was still displaying the swapped port number. Now both listen behaviour and debug log output agree.



Stefan Sperling

gotwebd: initialize IPv4 and IPv6 sockets in the same way

ok tracey


Stefan Sperling

gotwebd: do not allocate server/socket list heads separately

ok millert@


Stefan Sperling

gotwebd: do not allocate address list heads separately, this is unnecessary

ok millert@


Omar Polo

fix snprintf error handling

follow the "proper secure idiom" described in the CAVEATS section of printf(3). reminded by tb@ and millert@


Stefan Sperling

remove the last remaining use of sin_len from gotwebd

I don't think this assignment to sin_len is needed at all, because sin_len is already being set via got_sockaddr_inet[6]_init() during the configuration stage. Tested successfully on both fcgi socket types (unix / tcp).


Christian Weisgerber

fix potential type mismatch between format specifier and argument

Cast argument of type rlim_t to unsigned long long to match the %llu format specifier on platforms where this might not be the case.