Drew DeVault
cc1bd152e3
Initial support for CGI scripts
2020-10-25 23:16:50 -04:00
Drew DeVault
8baeb5a51c
Initial implementation of a routing table
2020-10-25 21:46:01 -04:00
Drew DeVault
1fe107875b
Overhaul network I/O to be async for real
...
Had to totally cut off OpenSSL from the network fd because obviously
OpenSSL is just going to wreck our shit
2020-10-25 14:50:07 -04:00
Kevin Sangeelee
cff1f71f1a
Change assert to 2-param version to comply with C11.
2020-09-29 18:04:12 -04:00
Drew DeVault
fc036335eb
Remove [:tls] email directive
2020-09-26 16:41:11 -04:00
Drew DeVault
50d21c03f5
Free up resources throughout
2020-09-26 16:10:10 -04:00
Drew DeVault
6bc9c4deb9
Implement autoindex option
2020-09-26 15:51:28 -04:00
Drew DeVault
165e3c02fc
Rehome some logic from server.c -> serve.c
2020-09-26 15:08:25 -04:00
Drew DeVault
61bc033740
Okay, time to quit fucking around with BUFSIZ
2020-09-26 15:00:40 -04:00
Drew DeVault
d4d8ea646c
Turns out BUFSIZ is small sometimes
2020-09-26 14:56:18 -04:00
Drew DeVault
48f75abcfd
Bump client buffer size to BUFSIZ
2020-09-26 14:45:39 -04:00
Drew DeVault
9bed26b8d9
Log response body size in bytes
2020-09-26 14:41:17 -04:00
Drew DeVault
dfab99ace5
Serve files from root
2020-09-26 14:36:52 -04:00
Drew DeVault
ce467cebd3
Parse requests and serve simple responses
2020-09-26 13:39:37 -04:00
Drew DeVault
fa69887e52
Implement TLS exchange with clients
...
This probably leaves a bit to be desired tbh
2020-09-24 19:58:41 -04:00
Drew DeVault
7af04ea471
tls: move cert/key into host structure
...
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.
2020-09-24 17:55:10 -04:00
Drew DeVault
0d1137f987
Implement TLS store
...
Includes hands-free certificate generation and loading
2020-09-24 17:51:29 -04:00
Drew DeVault
b85c64b441
Generalize logging
2020-09-23 14:32:52 -04:00
Drew DeVault
da9db7bc46
Implement basic server event loop
2020-09-23 14:19:28 -04:00
Drew DeVault
65c2a56c6d
Initialize sockets
2020-09-23 12:43:05 -04:00
Drew DeVault
9adc6f34c7
config: parse listen directives
2020-09-23 11:33:05 -04:00
Drew DeVault
58500c8e53
Initial config parser
2020-09-23 11:24:23 -04:00
Drew DeVault
ccae8ffd28
Vendor in some support code
2020-09-23 10:40:14 -04:00