Commit Briefs

Omar Polo

mark various functions as static

By marking all those function as static, the compiler is free to do more optimizations. In addition, those functions are not used outside server.c



Omar Polo

simplify handle_cgi

Now that I got rid of the enum+switch, adding more state is easier. Before, we used an hack to remember if we had read the CGI reply or not (c->code = -1). This introduces a new state, handle_cgi_reply that reads the CGI script reply, logs it, and only then switches to handle_cgi. handle_cgi itself is cleaner, now it only reads into c->sbuf and send what it had red. We even get, almost for free, the 42 error. If read exists with -1 or 0 from in handle_cgi_reply, we return a proper error to the client. We can extend this further in the future and also try to validate the CGI reply (for now we're only looking for a \n).


Omar Polo

document the DFA




Omar Polo

invert the location precedence: first match wins

It's how httpd(8) does it, and it allows us to call fnmatch less time


Omar Polo

puny_decode: set an error string


Omar Polo

punycode: refactoring

use the correct term "label" instead of "component" when speaking about the parts of a hostname. Also, fix the sizes for max hostname and label.


Omar Polo

delete unused constant


Omar Polo

remove unused function




Omar Polo

use starts_with in puny.c


Omar Polo

trim_req_iri: set error string