summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* server: handle write errorsDrew DeVault2020-10-281-1/+5
|
* CGI: Fix SCRIPT_NAME variableDrew DeVault2020-10-261-3/+6
|
* CGI: set PATH_INFODrew DeVault2020-10-251-16/+48
|
* Initial support for CGI scriptsDrew DeVault2020-10-254-0/+146
|
* Initial implementation of a routing tableDrew DeVault2020-10-254-25/+183
|
* Overhaul network I/O to be async for realDrew DeVault2020-10-255-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 pathsio mintz2020-10-151-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_autoindexWilliam Casarin2020-10-151-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 errorsChris Vittal2020-10-121-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 Sangeelee2020-09-291-1/+1
|
* Bubble up client disconnect stateDrew DeVault2020-09-271-23/+36
| | | | This will fix the segfaults but won't fix slowlorris
* Break after processing polled clientDrew DeVault2020-09-271-0/+3
| | | | Otherwise we might not grok it, ya jive
* Only handle one client per poll iterationDrew DeVault2020-09-271-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/xmlDrew DeVault2020-09-271-0/+3
|
* server.c: re-locate definitions to appropriate scopeDrew DeVault2020-09-261-7/+7
|
* README.md: update example configDrew DeVault2020-09-261-2/+5
|
* Set SO_REUSEADDRDrew DeVault2020-09-261-1/+2
|
* server.c: appease GCC's magic pixie bullshitDrew DeVault2020-09-261-2/+2
|
* server.c: import netinet/in.hDrew DeVault2020-09-261-0/+1
|
* config.ini: change suggested root directoryDrew DeVault2020-09-261-1/+1
|
* Fix size of in{,6}_addrDrew DeVault2020-09-261-2/+2
|
* Document (and tweak) log formatDrew DeVault2020-09-262-3/+16
|
* README.md: formattingDrew DeVault2020-09-261-2/+3
|
* Add dependency listDrew DeVault2020-09-261-0/+6
|
* DocumentationDrew DeVault2020-09-266-8/+150
|
* Remove [:tls] email directiveDrew DeVault2020-09-263-4/+0
|
* Free up resources throughoutDrew DeVault2020-09-265-14/+38
|
* disconnect_client: free more client resourcesDrew DeVault2020-09-261-0/+7
|
* Implement autoindex optionDrew DeVault2020-09-265-27/+176
|
* Rehome some logic from server.c -> serve.cDrew DeVault2020-09-264-119/+141
|
* Okay, time to quit fucking around with BUFSIZDrew DeVault2020-09-261-1/+2
|
* Turns out BUFSIZ is small sometimesDrew DeVault2020-09-261-2/+1
|
* Bump client buffer size to BUFSIZDrew DeVault2020-09-262-2/+3
|
* Log response body size in bytesDrew DeVault2020-09-262-1/+5
|
* Serve files from rootDrew DeVault2020-09-264-11/+119
|
* disconnect_client: clean up biosDrew DeVault2020-09-261-2/+3
|
* Always log server messages to stderrDrew DeVault2020-09-261-1/+1
| | | | So that you can just direct stdout to a file to get the request log.
* Parse requests and serve simple responsesDrew DeVault2020-09-263-19/+216
|
* Use O_NONBLOCK for client file descriptorsDrew DeVault2020-09-261-2/+13
|
* Implement TLS exchange with clientsDrew DeVault2020-09-247-16/+144
| | | | This probably leaves a bit to be desired tbh
* tls: move cert/key into host structureDrew DeVault2020-09-242-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 storeDrew DeVault2020-09-246-4/+198
| | | | Includes hands-free certificate generation and loading
* configure: add --libdirEyal Sawady2020-09-241-7/+9
|
* Log bind addresses on startupDrew DeVault2020-09-242-1/+6
|
* Add README.mdDrew DeVault2020-09-241-0/+3
|
* Generalize loggingDrew DeVault2020-09-234-28/+78
|
* Implement basic server event loopDrew DeVault2020-09-233-6/+191
|
* Generalize IPV6_V6ONLY usageDrew DeVault2020-09-232-7/+1
| | | | Some platforms other than Linux may implement this socket option.
* Initialize socketsDrew DeVault2020-09-237-1/+171
|
* config: parse listen directivesDrew DeVault2020-09-232-4/+59
|