| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | CGI: set PATH_INFO | Drew DeVault | 2020-10-25 | 1 | -16/+48 |
| | | |||||
| * | Initial support for CGI scripts | Drew DeVault | 2020-10-25 | 4 | -0/+146 |
| | | |||||
| * | Initial implementation of a routing table | Drew DeVault | 2020-10-25 | 4 | -25/+183 |
| | | |||||
| * | Overhaul network I/O to be async for real | Drew DeVault | 2020-10-25 | 5 | -108/+249 |
| | | | | | | Had to totally cut off OpenSSL from the network fd because obviously OpenSSL is just going to wreck our shit | ||||
| * | add a missing "/" to autoindex paths | io mintz | 2020-10-15 | 1 | -2/+1 |
| | | | | | | | | | | | | | | | | | | | | | With the following directory structure: /srv/gmni: baz/ foo/ /srv/gmni/baz: a /srv/gmni/foo: bar/ /srv/gmni/foo/bar: b trying to access gemini://somesite/ with autoindex=on works, but accessing /foo fails because it tries to stat /srv/gmni/foobar instead of /srv/gmni/foo/bar. This commit fixes that by adding a trailing slash. | ||||
| * | serve: fix gcc-9.3.0 error in serve_autoindex | William Casarin | 2020-10-15 | 1 | -1/+1 |
| | | | | | | | | | | | | | | gcc 9.3.0 catches an off-by-one error with strncat in serve_autoindex where it might not write a 0 byte: In function ‘strncat’, inlined from ‘serve_autoindex’ at src/serve.c:60:3: /nix/store/...glibc-2.31-dev/include/bits/string_fortified.h:136:10: error: ‘__builtin___strncat_chk’ specified bound 4097 equals destination size [-Werror=stringop-overflow=] Signed-off-by: William Casarin <jb55@jb55.com> | ||||
| * | return false on request_validate errors | Chris Vittal | 2020-10-12 | 1 | -1/+4 |
| | | | | | | This will report proper errors to clients rather than continuing on with request processing. | ||||
| * | Change assert to 2-param version to comply with C11. | Kevin Sangeelee | 2020-09-29 | 1 | -1/+1 |
| | | |||||
| * | Bubble up client disconnect state | Drew DeVault | 2020-09-27 | 1 | -23/+36 |
| | | | | | This will fix the segfaults but won't fix slowlorris | ||||
| * | Break after processing polled client | Drew DeVault | 2020-09-27 | 1 | -0/+3 |
| | | | | | Otherwise we might not grok it, ya jive | ||||
| * | Only handle one client per poll iteration | Drew DeVault | 2020-09-27 | 1 | -8/+4 |
| | | | | | | This is a bit of a hack but it avoids some problems with invalid reads when a client gets disconnected | ||||
| * | mime: add .xml -> text/xml | Drew DeVault | 2020-09-27 | 1 | -0/+3 |
| | | |||||
| * | server.c: re-locate definitions to appropriate scope | Drew DeVault | 2020-09-26 | 1 | -7/+7 |
| | | |||||
| * | README.md: update example config | Drew DeVault | 2020-09-26 | 1 | -2/+5 |
| | | |||||
| * | Set SO_REUSEADDR | Drew DeVault | 2020-09-26 | 1 | -1/+2 |
| | | |||||
| * | server.c: appease GCC's magic pixie bullshit | Drew DeVault | 2020-09-26 | 1 | -2/+2 |
| | | |||||
| * | server.c: import netinet/in.h | Drew DeVault | 2020-09-26 | 1 | -0/+1 |
| | | |||||
| * | config.ini: change suggested root directory | Drew DeVault | 2020-09-26 | 1 | -1/+1 |
| | | |||||
| * | Fix size of in{,6}_addr | Drew DeVault | 2020-09-26 | 1 | -2/+2 |
| | | |||||
| * | Document (and tweak) log format | Drew DeVault | 2020-09-26 | 2 | -3/+16 |
| | | |||||
| * | README.md: formatting | Drew DeVault | 2020-09-26 | 1 | -2/+3 |
| | | |||||
| * | Add dependency list | Drew DeVault | 2020-09-26 | 1 | -0/+6 |
| | | |||||
| * | Documentation | Drew DeVault | 2020-09-26 | 6 | -8/+150 |
| | | |||||
| * | Remove [:tls] email directive | Drew DeVault | 2020-09-26 | 3 | -4/+0 |
| | | |||||
| * | Free up resources throughout | Drew DeVault | 2020-09-26 | 5 | -14/+38 |
| | | |||||
| * | disconnect_client: free more client resources | Drew DeVault | 2020-09-26 | 1 | -0/+7 |
| | | |||||
| * | Implement autoindex option | Drew DeVault | 2020-09-26 | 5 | -27/+176 |
| | | |||||
| * | Rehome some logic from server.c -> serve.c | Drew DeVault | 2020-09-26 | 4 | -119/+141 |
| | | |||||
| * | Okay, time to quit fucking around with BUFSIZ | Drew DeVault | 2020-09-26 | 1 | -1/+2 |
| | | |||||
| * | Turns out BUFSIZ is small sometimes | Drew DeVault | 2020-09-26 | 1 | -2/+1 |
| | | |||||
| * | Bump client buffer size to BUFSIZ | Drew DeVault | 2020-09-26 | 2 | -2/+3 |
| | | |||||
| * | Log response body size in bytes | Drew DeVault | 2020-09-26 | 2 | -1/+5 |
| | | |||||
| * | Serve files from root | Drew DeVault | 2020-09-26 | 4 | -11/+119 |
| | | |||||
| * | disconnect_client: clean up bios | Drew DeVault | 2020-09-26 | 1 | -2/+3 |
| | | |||||
| * | Always log server messages to stderr | Drew DeVault | 2020-09-26 | 1 | -1/+1 |
| | | | | | So that you can just direct stdout to a file to get the request log. | ||||
| * | Parse requests and serve simple responses | Drew DeVault | 2020-09-26 | 3 | -19/+216 |
| | | |||||
| * | Use O_NONBLOCK for client file descriptors | Drew DeVault | 2020-09-26 | 1 | -2/+13 |
| | | |||||
| * | Implement TLS exchange with clients | Drew DeVault | 2020-09-24 | 7 | -16/+144 |
| | | | | | This probably leaves a bit to be desired tbh | ||||
| * | tls: move cert/key into host structure | Drew DeVault | 2020-09-24 | 2 | -9/+6 |
| | | | | | | | | | We'll later want to set these on the SSL object (rather than SSL_CTX), so move these into the host struct for later access. We'll prefer to set it on the SSL object so that we can automatically use an up-to-date certificate, per ~sircmpwn/gmni#26. | ||||
| * | Implement TLS store | Drew DeVault | 2020-09-24 | 6 | -4/+198 |
| | | | | | Includes hands-free certificate generation and loading | ||||
| * | configure: add --libdir | Eyal Sawady | 2020-09-24 | 1 | -7/+9 |
| | | |||||
| * | Log bind addresses on startup | Drew DeVault | 2020-09-24 | 2 | -1/+6 |
| | | |||||
| * | Add README.md | Drew DeVault | 2020-09-24 | 1 | -0/+3 |
| | | |||||
| * | Generalize logging | Drew DeVault | 2020-09-23 | 4 | -28/+78 |
| | | |||||
| * | Implement basic server event loop | Drew DeVault | 2020-09-23 | 3 | -6/+191 |
| | | |||||
| * | Generalize IPV6_V6ONLY usage | Drew DeVault | 2020-09-23 | 2 | -7/+1 |
| | | | | | Some platforms other than Linux may implement this socket option. | ||||
| * | Initialize sockets | Drew DeVault | 2020-09-23 | 7 | -1/+171 |
| | | |||||
| * | config: parse listen directives | Drew DeVault | 2020-09-23 | 2 | -4/+59 |
| | | |||||
| * | Initial config parser | Drew DeVault | 2020-09-23 | 8 | -10/+248 |
| | | |||||
| * | Vendor in some support code | Drew DeVault | 2020-09-23 | 9 | -1/+2258 |
| | | |||||
